js验证密码的正则表达式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js验证密码的正则表达式相关的知识,希望对你有一定的参考价值。

长度6-16位
不能为同一个字符
不能全是数字
只能有数字、字母和常用特殊字符

完整的js正则表达式:

//强:字母+数字+特殊字符

^(?![a-zA-z]+$)(?!\\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\\d!@#$%^&*]+$)[a-zA-Z\\d!@#$%^&*]+$    

//中:字母+数字,字母+特殊字符,数字+特殊字符

^(?![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 falsereturn truefunction 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 falsereturn true

//校验密码:只能输入6-20个字母、数字、下划线

function isPasswd(s)var patrn=/^(\\w)6,20$/;if (!patrn.exec(s)) return falsereturn 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 falsereturn true

//校验手机号码:必须以数字开头,除数字外,可含有“-”

function isMobil(s)var patrn=/^[+]0,1(\\d)1,3[ ]?([-]?((\\d)|[ ])1,12)+$/;if (!patrn.exec(s)) return falsereturn 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 falsereturn true

//校验搜索关键字

function isSearch(s)var patrn=/^[^`~!@#$%^&*()+=|\\\\\\][\\]\\\\:;'\\,.<>/?]1[^`~!@$%^&()+=|\\\\\\][\\]\\\\:;'\\,.<>?]0,19$/;if (!patrn.exec(s)) return falsereturn truefunction isIP(s) //by zerglingvar patrn=/^[0-9.]1,20$/;if (!patrn.exec(s)) return falsereturn true

参考技术A <p>
密码<input type="password" id=“pwd”>

</p>
验证密码就:
var pwd=docment.getElementById("pwd").value; //获取密码框里的元素
var reg="这里写你要求密码的正则表达式格式";
//例如密码要求5-10位字母数字下划线,那么正则式就是 var reg=/^\w5,10$/; (记住^开始和$不要漏了)
if(reg.test(pwd))
return true;
)
参考技术B var pa=/^(?=.6,16$)(?![0-9]+$)(?!.*(.).*\1)[0-9a-zA-Z]+$/;

把你允许的特殊字符放到[0-9a-zA-Z] 中追问

特殊字符随便放到[0-9a-zA-Z]中的任意位置?

追答

Z 和 ] 中间,如[0-9a-zA-Z$#@^&]+

本回答被提问者采纳
参考技术C var str="用户名"
str
^(([a-zA-Z\d]+)|([a-z\d\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]+)|([a-zA-Z\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]+)|([A-Z\d\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]+))$
//[\x21-\x2f\x3a-\x40\x5b-\x60\x7b-\x7e]是其他键盘字符的assic码的16进制表示
分两次检测,1:先检查是否包含用户名,2:再检是否符合条件2
参考技术D <script>

var userName='testName';//用户名

var t1="a-z",t2="A-Z",t3="0-9",t4="!@#%";//有什么特殊符号,修改T4的值
var r0="(?!.*"+userName+".*)",r1="(?=.*["+t1+"]+)",r2="(?=.*["+t2+"]+)",r3="(?=.*["+t3+"]+)",r4="(?=.*["+t4+"]+)";
var s1=r1+r2+r3+"["+t1+t2+t3+"]+",s2=r1+r2+r4+"["+t1+t2+t4+"]+",s3=r1+r3+r4+"["+t1+t3+t4+"]+",s4=r2+r3+r4+"["+t2+t3+t4+"]+",s5=r1+r2+r3+r4+"["+t1+t2+t3+t4+"]+";

var r=new RegExp("^"+r0+"(?:(?:"+s1+")|(?:"+s2+")|(?:"+s3+")|(?:"+s4+")|(?:"+s5+"))"+"$");

document.write(r + "<br/>");
document.write(r.test("asdf@#234AA"+userName+"234adfwe") + "<br/>");//false 因为包含用户名
document.write(r.test("1111111aaaaa") + "<br/>");//false 因为值满足2个条件
document.write(r.test("aaaaaAAAA") + "<br/>");//false 因为值满足2个条件
document.write(r.test("aaaaa!@#") + "<br/>");//false 因为值满足2个条件
document.write(r.test("aaaaa!@#11123") + "<br/>");//true

</script>

JS的常用正则表达式 验证密码用户名等

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

function isDigit(s) 

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

 

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串 
Java代码 
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个以字母开头的字串 
Java代码 
function isTrueName(s)   
{   
var patrn=/^[a-zA-Z]{1,30}$/;   
if (!patrn.exec(s)) return false 
return true 
}   
}}   

//校验密码:只能输入6-20个字母、数字、下划线   
<PRE class="java" name="code">function isPasswd(s)   
{   
var patrn=/^(\w){6,20}$/;   
if (!patrn.exec(s)) return false 
return true 
}   
</PRE>   
<BR>   
<BR>//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”   
<BR><PRE class="java" name="code">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 
}   
</PRE>   
<BR>   
<BR>//校验手机号码:必须以数字开头,除数字外,可含有“-”   
<BR><PRE class="java" name="code">function isMobil(s)   
{   
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;   
if (!patrn.exec(s)) return false 
return true 
}   
</PRE>   
<BR>   
<BR>//校验邮政编码   
<BR><PRE class="java" name="code">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 
}   
</PRE>   
<BR>   
<BR>//校验搜索关键字   
<BR><PRE class="java" name="code">function isSearch(s)   
{   
var patrn=/^[^`[email protected]#$%^&*()+=|\\\][\]\{\}:;‘\,.<>/?]{1}[^`[email protected]$%^&()+=|\\\]   
        [\]\{\}:;‘\,.<>?]{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 
}   
</PRE>   
<BR>   
<BR><SPAN style="FONT-SIZE: 18pt">正则表达式</SPAN>   
<BR><PRE class="java" name="code">"^\\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\.\_]+$   //数字,英文,小数点,下划线








































































































以上是关于js验证密码的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

js正则表达式密码验证必须包含数字和字母

JS-常用正则表达式-密码验证

java中的正则表达式问题 怎么验证密码必须由字母 数字或下划线开头,密码可以随便组合

JS的常用正则表达式 验证密码用户名等

js简单正则表达式验证密码

js 正则表达式验证密码邮箱格式.....