用一个正则好像做不到
可以用组合的,
1. /[a-zA-Z0-9]{6,10}/.test(str)
3. !/([[a-zA-Z0-9])\1{2}/.test(str)
第2个我没想到用正则怎么判断
用循环做吧
function diffCharNum( str )
{
tmp=str.charAt(0);
for(i=0;i<str.length;i++)
{
if(tmp.indexOf(str.charAt(i)) == -1 )
tmp += str.charAt(i)
}
if(tmp.length < 4 )
return false
else
return true;
}综合一下就是
if( /[a-zA-Z0-9]{6,10}/.test(str) && !/([[a-zA-Z0-9])\1{2}/.test(str) && diffCharNum(str)>4)
alert('密码规则正确');-----------------
没测试
可以用组合的,
1. /[a-zA-Z0-9]{6,10}/.test(str)
3. !/([[a-zA-Z0-9])\1{2}/.test(str)
第2个我没想到用正则怎么判断
用循环做吧
function diffCharNum( str )
{
tmp=str.charAt(0);
for(i=0;i<str.length;i++)
{
if(tmp.indexOf(str.charAt(i)) == -1 )
tmp += str.charAt(i)
}
if(tmp.length < 4 )
return false
else
return true;
}综合一下就是
if( /[a-zA-Z0-9]{6,10}/.test(str) && !/([[a-zA-Z0-9])\1{2}/.test(str) && diffCharNum(str)>4)
alert('密码规则正确');-----------------
没测试
function diffCharNum( str )
{
tmp=str.charAt(0);
for(i=0;i<str.length;i++)
{
if(tmp.indexOf(str.charAt(i)) == -1 )
tmp += str.charAt(i)
}
return tmp.length;
}
/*
● 密码的最小长度为6,最大为10,必须由英文字母和数字组成.
● 必须有四个不同的字符.
● 密码不能包含空格.
● 密码不能包含超过两个以上连续相同的字符(两个连续相同的字符可以,多了可不行).
*/
function validpwd(str)
{
var pattern1 = /^[a-z\d]{6,10}$/i;
var pattern2 = /(.)\1\1/; var ary = str.split('');
var o = new Object();
var j = 0;
for (var i=0; i<ary.length; i++)
{
if (typeof o[ary[i]] == 'undefined')
{
o[ary[i]] = 1;
j++;
}
} if (j >= 4 && pattern1.test(str) && !pattern2.test(str))
return true;
else
return false;
}alert('abcdaeebab : ' + validpwd('abcdaeebab'));
alert('abcdeeebab : ' + validpwd('abcdeeebab'));
alert('ababababab : ' + validpwd('ababababab'));
alert('abcde : ' + validpwd('abcde'))
</SCRIPT>