温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何实现密码验证的正则表达式

发布时间:2021-09-23 10:21:09 来源:亿速云 阅读:184 作者:小新 栏目:互联网科技

这篇文章主要为大家展示了“如何实现密码验证的正则表达式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现密码验证的正则表达式”这篇文章吧。

什么是正则表达式?
在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

php密码验证正则表达式(8位长度限制)

<?php 
//密码验证 
$password = "zongzi_Abc_oo13a2"; 
$n = preg_match_all("/^[a-zA-Z\d_]{8,}$/",$password,$array); 
//长度是8或更多 
var_dump($array); 
?>

python密码验证正则表达式

#encoding=utf-8
import re
def checklen(pwd):
 return len(pwd)>=8
def checkContainUpper(pwd):
 pattern = re.compile('[A-Z]+')
 match = pattern.findall(pwd)
 if match:
 return True
 else:
 return False
def checkContainNum(pwd):
 pattern = re.compile('[0-9]+')
 match = pattern.findall(pwd)
 if match:
 return True
 else:
 return False
def checkContainLower(pwd):
 pattern = re.compile('[a-z]+')
 match = pattern.findall(pwd)
 if match:
 return True
 else:
 return False
def checkSymbol(pwd):
 pattern = re.compile('([^a-z0-9A-Z])+')
 match = pattern.findall(pwd)
 if match:
 return True
 else:
 return False
def checkPassword(pwd):
 #判断密码长度是否合法
 lenOK=checklen(pwd)
 #判断是否包含大写字母
 upperOK=checkContainUpper(pwd)
 #判断是否包含小写字母
 lowerOK=checkContainLower(pwd)
 #判断是否包含数字
 numOK=checkContainNum(pwd)
 #判断是否包含符号
 symbolOK=checkSymbol(pwd)
 print(lenOK)
 print(upperOK)
 print(lowerOK)
 print(numOK)
 print(symbolOK)
 return (lenOK and upperOK and lowerOK and numOK and symbolOK)

def main():
 if checkPassword('Helloworld#123'):
 print('检测通过')
 else:
 print('检测未通过')

if __name__ == '__main__':
 main()

java密码验证正则表达式

/** 
* @ClassName: RexTest 
* @Description: TODO
* @author BMR
* @date 2016年3月28日 上午11:09:17 
*/
public class RexTest {
 
 /**
 * 正则表达式验证密码
 * @param input
 * @return
 */
 public static boolean rexCheckPassword(String input) {
 // 6-20 位,字母、数字、字符
 //String reg = "^([A-Z]|[a-z]|[0-9]|[`-=[];,./~!@#$%^*()_+}{:?]){6,20}$";
 String regStr = "^([A-Z]|[a-z]|[0-9]|[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]){6,20}$";
 return input.matches(regStr);
 }
 
 public static void main(String[] args){
 System.out.println("rexCheckPassword is: "+ rexCheckPassword("14`~!@#$%^&*(\\)+=|{}"));
 }

输出结果:

rexCheckPassword is: true

网友提出的问题:

正则表达式校验密码
1、密码必须由数字、字符、特殊字符三种中的两种组成;
2、密码长度不能少于8个字符;
满足以上两点,应该怎么实现?

(?!^\\d+$)不能全是数字
(?!^[a-zA-Z]+$)不能全是字母
(?!^[_#@]+$)不能全是符号(这里只列出了部分符号,可自己增加,有的符号可能需要转义)
.{8,}长度不能少于8位
合起来就是
(?!^\\d+$)(?!^[a-zA-Z]+$)(?!^[_#@]+$).{8,}

完整的js正则表达式

//强:字母+数字+特殊字符&nbsp;
&nbsp;^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$
&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;
//中:字母+数字,字母+特殊字符,数字+特殊字符
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$

//弱:纯数字,纯字母,纯特殊字符
^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$


//校验是否全由数字组成

function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s) 
{ 
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/; 
if (!patrn.exec(s)) return false
return true
}

function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}


//校验用户姓名:只能输入1-30个以字母开头的字串
Javascript代码
function isTrueName(s) 
{ 
var patrn=/^[a-zA-Z]{1,30}$/; 
if (!patrn.exec(s)) return false
return true
} 
}} 

//校验密码:只能输入6-20个字母、数字、下划线 
function isPasswd(s) 
{ 
var patrn=/^(\w){6,20}$/; 
if (!patrn.exec(s)) return false
return true
} 

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-” 
function isTel(s) 
{ 
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/; 
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; 
if (!patrn.exec(s)) return false
return true
} 

//校验手机号码:必须以数字开头,除数字外,可含有“-” 
function isMobil(s) 
{ 
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/; 
if (!patrn.exec(s)) return false
return true
} 

//校验邮政编码 
function isPostalCode(s) 
{ 
//var patrn=/^[a-zA-Z0-9]{3,12}$/; 
var patrn=/^[a-zA-Z0-9 ]{3,12}$/; 
if (!patrn.exec(s)) return false
return true
} 

//校验搜索关键字 
function isSearch(s) 
{ 
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\] 
 [\]\{\}:;'\,.<>?]{0,19}$/; 
if (!patrn.exec(s)) return false
return true
} 

function isIP(s) //by zergling 
{ 
var patrn=/^[0-9.]{1,20}$/; 
if (!patrn.exec(s)) return false
return true
}

正则表达式

^\\d+$  //非负整数(正整数 + 0) 
^[0-9]*[1-9][0-9]*$  //正整数 
^((-\\d+)|(0+))$  //非正整数(负整数 + 0) 
^-[0-9]*[1-9][0-9]*$  //负整数 
^-?\\d+$    //整数 
^\\d+(  //非负浮点数(正浮点数 + 0) 
^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$  
//正浮点数 
^((-\\d+(  //非正浮点数(负浮点数 + 0) 
^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 
//负浮点数 
^(-?\\d+)(  //浮点数 
^[A-Za-z]+$  //由26个英文字母组成的字符串 
^[A-Z]+$  //由26个英文字母的大写组成的字符串 
^[a-z]+$  //由26个英文字母的小写组成的字符串 
^[A-Za-z0-9]+$  //由数字和26个英文字母组成的字符串 
^\\w+$  //由数字、26个英文字母或者下划线组成的字符串 
^[\\w-]+(    //email地址 
^[a-zA-z]+://(  //url 
^[A-Za-z0-9_]*$

匹配完整域名的正则表达式:
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?

以上是“如何实现密码验证的正则表达式”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI