永发信息网

如何用正则表达式实现规定用户输入密码的格式为:(长度6到18个字符,不能全为重复字母,或者连续字母)

答案:3  悬赏:20  手机版
解决时间 2021-01-24 20:32
如何用正则表达式实现规定用户输入密码的格式为:(长度6到18个字符,不能全为重复字母,或者连续字母)
最佳答案
// 存在一个你不容易发现的问题,基本能解决你的问题

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);
}
全部回答
这个要用正则+js判断来作
正则可以判断长度以及是否为字母,但是无法判断输入数据是否重复和连续
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';
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么现在不能改名字了
在工地干活碰掉了两颗门牙,公司说赔付一万,觉
定期存款年利率??一年期:4.14%??两年期:4.6
环评节能评估报告多少钱
西陵区宜昌米拉公寓(西陵二路与珍珠路交叉口
健鼎(无锡)电子工资福利怎么样?具体说说啊?
纳税人应缴纳消费税的情況有()A.将生产的应
变形金刚5百度云网盘高清资源
【质量事故等级】一般质量事故分三个等级:一
广州中山大学附属第三医院到华南农业大学怎么
2011年l0月12日,美国参议院通过相关法案迫使
某企业涉及第一类水污染物的车间生产周期是4h
近年来,一些人热衷于过愚人节、圣诞节等“洋
双盘位nas跟nas有啥区别?
【冷暖自知的意思】生无所求冷暖自知是什么意
推荐资讯
单选题超声波的波长A.比声波长B.比声波短C.和
【blog是什么意思】BLOG的中文意思是什么?
实中教育(驻马店驿城)地址好找么,我有些事要
成语:( )( )不前.再解释所填词的意思是什么?
北京市通州区南刘中学地址有知道的么?有点事
23和33最大公因数是几
商洛市国土资源局商州分局地质环境监测站地址
万桂山集贸市场地址在哪,我要去那里办事
关于热质说的推翻
温度计分度值大小与测量精确度有什么关系
细胞复制的时候 性染色体XY 或者是XX 复制吗
【我国第一部词典是什么】中国第一部字典是什
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?