如何用正则表达式实现规定用户输入密码的格式为:(长度6到18个字符,不能全为重复字母,或者连续字母)
答案:3 悬赏:20 手机版
解决时间 2021-01-24 20:32
- 提问者网友:战魂
- 2021-01-24 00:41
如何用正则表达式实现规定用户输入密码的格式为:(长度6到18个字符,不能全为重复字母,或者连续字母)
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-01-24 01:52
// 存在一个你不容易发现的问题,基本能解决你的问题
function checkPassword(pwd){
// 长度为6到18个字符
var reg = /^.{6,18}$/;
if(!reg.test(pwd)){
return false;
}
// 全部重复
var repeat = true;
// 连续字符
var series = true;
var len = pwd.length;
var first = pwd.charAt(0);
for(var i=1;i repeat = repeat && pwd.charAt(i) == first;
series = series && pwd.charCodeAt(i) == pwd.charCodeAt(i-1) + 1;
}
return !(repeat || series);
}
function checkPassword(pwd){
// 长度为6到18个字符
var reg = /^.{6,18}$/;
if(!reg.test(pwd)){
return false;
}
// 全部重复
var repeat = true;
// 连续字符
var series = true;
var len = pwd.length;
var first = pwd.charAt(0);
for(var i=1;i
series = series && pwd.charCodeAt(i) == pwd.charCodeAt(i-1) + 1;
}
return !(repeat || series);
}
全部回答
- 1楼网友:不如潦草
- 2021-01-24 03:55
这个要用正则+js判断来作
正则可以判断长度以及是否为字母,但是无法判断输入数据是否重复和连续
正则可以判断长度以及是否为字母,但是无法判断输入数据是否重复和连续
- 2楼网友:野味小生
- 2021-01-24 03:28
function checkPwd(str)
{
var str=str.replace(/(^s*)|(s*$)/g,''),
len=str.length,
error='error:none', // 无错误
repeat=new RegExp('(\w)\1{'+(len-1)+'}'),
series='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
if(len<6 || len>18)
error='error:length'; // 错误:字符数
else if(repeat.test(str))
error='error:repeat'; // 错误:重复
else if(series.indexOf(str)>=0)
error='error:series'; // 错误:连续
// alert(error); 测试用
return error=='error:none';
}
{
var str=str.replace(/(^s*)|(s*$)/g,''),
len=str.length,
error='error:none', // 无错误
repeat=new RegExp('(\w)\1{'+(len-1)+'}'),
series='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
if(len<6 || len>18)
error='error:length'; // 错误:字符数
else if(repeat.test(str))
error='error:repeat'; // 错误:重复
else if(series.indexOf(str)>=0)
error='error:series'; // 错误:连续
// alert(error); 测试用
return error=='error:none';
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯