0

この正規表現を使用しました ^(?=. [a-zA-Z]. )[a-zA-Z0-9 ?.! @#'\s]{2,200}$. 特殊な (! @#) 、英数字を含める必要があり、最大 200 文字を許可する必要があります。しかし、ここで私は未終了の文字列定数のようなエラーが発生しています..Googleで試しました... $、*などのメタ文字を\で置き換える必要があると言っています..誰か助けてくれますか

私のコードはこのようなものです

$.validationEngineLanguage = {
    newLang: function(){
        $.validationEngineLanguage.allRules = {
            "required": { // Add your regex rules here, you can take telephone as an   example
                "regex": "none",
                "alertText": "This field is required",
                "alertTextCheckboxMultiple": "* Please select an option",
                "alertTextCheckboxe": "* This checkbox is required",
                "alertTextDateRange": "* Both date range fields are required"
            },
            ---
             ----
            "passwordval": {
            "regex":^(?=.*[a-zA-Z].*)[a-zA-Z0-9 ?.!*@#'\s]{2,200}$,
            "alertText": "* Not a valid password"
            },
            };

    }
};

$.validationEngineLanguage.newLang();

「passwordval」で問題に直面しています:

4

2 に答える 2

0
var reExample = new RegExp("^(?=.[a-zA-Z].)[a-zA-Z0-9 ?.!@#'\s]{2,200}$");

「」に注意してください

reExample.test("dfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdfdfsfsdfsdf");

上記は false を返します

reExample.test("dfsfsdfsdfdfsfsd");

これは真になります

(JavaScriptを使用していると仮定します)

于 2012-04-10T12:58:02.490 に答える
0

正規表現にエラーがあるようです

  • この行を変更

    "regex" : ^(?=.*[a-zA-Z].*)[a-zA-Z0-9 ?.!*@#'\s]{2,200}$,
    

    "regex" : "^(?=.*[a-zA-Z].*)[a-zA-Z0-9 ?.!*@#'\\s]{2,200}$",
    

知らせ

The double quote around the regular expression and the extra \ before \s 
于 2012-04-10T13:08:54.083 に答える