8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

创建正则表达式数组 Javascript

dfeva 2月前

40 0

我想创建一个函数,将密码与一些常见的愚蠢密码进行比较,以便用户无法选择其中一个,但是到目前为止我编写的函数,当放在脚本任务之间时......

我想创建一个函数,将密码与一些常见的愚蠢密码进行比较,以便用户无法选择其中一个,但到目前为止,我编写的函数放在脚本标记之间时,会导致没有 javascript 被识别(由 Firebug)。我认为数组创建有问题。

function unacceptable(pwd){
    var unforgivable = [
    /password/gi, /*g matches any occurance of sequence, i checks case insensitive*/
    /12345678/g,
    /8675309/g,
    /[a-z]{8,}/gi,
    /qwerty/gi,
    /asdfg/gi,
    /qazwsx/gi,
    /zxcvb/gi,
    /letmein/gi,
    /trustno1/gi,
    /omnicloud/gi,
    /monkey/gi];
    for (var i=0; i<unforgivable.length; i++)
        if(pwd.match(unforgivable[i])) return true;
    return false;
} 
帖子版权声明 1、本帖标题:创建正则表达式数组 Javascript
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由dfeva在本站《regex》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 您不需要循环测试每个单词,因为您可以将它们全部放入一个正则表达式中(用字符分隔 | ),然后让正则表达式引擎一次性查找其中任何一个。您可以这样做:

    function unacceptable(pwd){
        var unforgivable = [
            "password",
            "12345678",
            "8675309",
            "[a-z]{8,}",
            "qwerty",
            "asdfg",
            "qazwsx",
            "zxcvb",
            "letmein",
            "trustno1",
            "omnicloud",
            "monkey"
        ];
        var re = new RegExp(unforgivable.join("|"), "i");
        return re.test(pwd);
    }
    

    工作演示在这里: http://jsfiddle.net/jfriend00/cyVbC/

    PS 您不必将所有单词放入数组中。您可以预先声明整个正则表达式,但我认为像这样将它们放入数组中可以使代码更易读且更易于维护。

    也可能是这样的:

    var unforgivable = /password|12345678|8675309|[a-z]{8,}|qwerty|asdfg|qazwsx|zxcvb|letmein|trustno1|omnicloud|monkey/i;
    
    function unacceptable(pwd){
        return unforgivable.test(pwd);
    }
    
返回
作者最近主题: