求几个 javascript 的正则表达式写法~~~~ 后面3种有什么好写法么?长度那个我直接用的.length来判断的。。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 长度在8位以上的,只包含有a-z或者A-Z或者0-9或者_其中1种的,强度判定为1这种我这样写不知道对不对:/[0-9]+[a-z]+/.test(password)||/[0-9]+[A-Z]+/.test(password)||/[0-9]+_+/.test(password)||/[a-z]+[A-Z]+/.test(password)||/[a-z]+_+/.test(password)||/[A-Z]+_+/.test(password) var pwds = ["12", "123456A#", "abcdefghi", "abcdefghi1", "abcdefghi1A", "abcdefghi1A#"];for(var i in pwds){ alert(pwds[i] + " 的密码强度为" + Evaluate(pwds[i]));}function Evaluate(pwd){ return pwd.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){9,}|(.){4,8}|(.){1,3}$/g, "$1$2$3$4$5").length;} 参考http://www.cnblogs.com/0009/archive/2007/04/24/725568.htmlhttp://www.cnblogs.com/0009/archive/2007/05/08/738888.html 最好配合js来判断<div id="div1"> <input type="text" id="txt1" maxlength="20" /> <input type="button" value="check" onclick="check()" /></div><script type="text/javascript">String.prototype.trim = function(){return this.replace(/(^\s*)|(\s*$)/g, "");}function check(){ var val=document.getElementById('txt1').value.trim(); if(val.length>=4&&val.length<=20) { var patt=/^[a-zA-Z0-9_]{4,20}$/; if(!patt.test(val)) {alert('只能包含a-zA-Z0-9_字符');return;} if(val.length>8) { var patt1=/[a-z]/; var patt2=/[A-Z]/; var patt3=/[0-9]/; var patt4=/[_]/; var arr=new Array(); arr[0]=patt1.test(val); arr[1]=patt2.test(val); arr[2]=patt3.test(val); arr[3]=patt4.test(val); var Numtrue=0; for(var i=0;i<arr.length;i++) { if(arr[i]==true) Numtrue++; } switch(Numtrue) { case 0:alert('只能包含a-zA-Z0-9_字符');break; case 1:alert('强度为1');break; case 2:alert('强度为2');break; case 3:alert('强度为3');break; case 4:alert('强度为4');break; } } else { alert('强度为1'); } } else { alert('要求4-20位'); }}</script> function getPrivacy(pwd){ var i=0,privacy = [],result=0; if(/^\w{4,8}$/.test(pwd)){ result = 1; }else{ if(/[_]/.test(pwd))privacy[i++]=1 if(/[0-9]/.test(pwd))privacy[i++]=1 if(/[a-z]/.test(pwd))privacy[i++]=1 if(/[A-Z]/.test(pwd))privacy[i++]=1 while(i--)result+=privacy[i] } alert(result); return result;}getPrivacy("12345Aa_")getPrivacy("12345678")getPrivacy("12345678A")getPrivacy("12345678Aa")getPrivacy("12345678Aa_") 不错不错后面2L,结合JS让人更容易理解,正则也就用得简单很多比起8,9L的例子来说,各有特色!谢谢!结贴! 紧急求助!数据json化时的类型问题。。。 一个地图高亮JS代码的问题 请教一个jqueryd的渐变问题 同一页面内不同按钮显示不同数据 [求助]如何用javaScript控制让一个层显示的时候,画面其他部分都不能点 frame窗体导航菜单不能完全显示问题! 最小化窗口命令是什么???? javascript e.clientX e.clientY offsetTop scrollTop 关于input focus js 求 还原 求还原方法 使用target="order" 使打开的页面在同一窗口,怎么聚焦到那个页面? 用层替代alert提示操作结果
这种我这样写不知道对不对:
/[0-9]+[a-z]+/.test(password)||/[0-9]+[A-Z]+/.test(password)||/[0-9]+_+/.test(password)||/[a-z]+[A-Z]+/.test(password)||/[a-z]+_+/.test(password)||/[A-Z]+_+/.test(password)
for(var i in pwds)
{
alert(pwds[i] + " 的密码强度为" + Evaluate(pwds[i]));
}function Evaluate(pwd)
{
return pwd.replace(/^(?:([a-z])|([A-Z])|([0-9])|(.)){9,}|(.){4,8}|(.){1,3}$/g, "$1$2$3$4$5").length;
}
<input type="text" id="txt1" maxlength="20" />
<input type="button" value="check" onclick="check()" />
</div><script type="text/javascript">
String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}function check()
{
var val=document.getElementById('txt1').value.trim();
if(val.length>=4&&val.length<=20)
{
var patt=/^[a-zA-Z0-9_]{4,20}$/;
if(!patt.test(val)) {alert('只能包含a-zA-Z0-9_字符');return;}
if(val.length>8)
{
var patt1=/[a-z]/;
var patt2=/[A-Z]/;
var patt3=/[0-9]/;
var patt4=/[_]/;
var arr=new Array();
arr[0]=patt1.test(val);
arr[1]=patt2.test(val);
arr[2]=patt3.test(val);
arr[3]=patt4.test(val);
var Numtrue=0;
for(var i=0;i<arr.length;i++)
{
if(arr[i]==true) Numtrue++;
}
switch(Numtrue)
{
case 0:alert('只能包含a-zA-Z0-9_字符');break;
case 1:alert('强度为1');break;
case 2:alert('强度为2');break;
case 3:alert('强度为3');break;
case 4:alert('强度为4');break;
} }
else
{
alert('强度为1');
}
}
else
{
alert('要求4-20位');
}
}
</script>
var i=0,privacy = [],result=0;
if(/^\w{4,8}$/.test(pwd)){
result = 1;
}else{
if(/[_]/.test(pwd))privacy[i++]=1
if(/[0-9]/.test(pwd))privacy[i++]=1
if(/[a-z]/.test(pwd))privacy[i++]=1
if(/[A-Z]/.test(pwd))privacy[i++]=1
while(i--)result+=privacy[i]
}
alert(result);
return result;
}getPrivacy("12345Aa_")
getPrivacy("12345678")
getPrivacy("12345678A")
getPrivacy("12345678Aa")
getPrivacy("12345678Aa_")