js验证密码的正则表达式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js验证密码的正则表达式相关的知识,希望对你有一定的参考价值。
长度6-16位
不能为同一个字符
不能全是数字
只能有数字、字母和常用特殊字符
完整的js正则表达式:
//强:字母+数字+特殊字符
//中:字母+数字,字母+特殊字符,数字+特殊字符
^(?![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 falsereturn 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 falsereturn 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验证密码的正则表达式的主要内容,如果未能解决你的问题,请参考以下文章