-1

私は次のようなコントロールを持っています。

"time1":{    
       "regex": ^([0-9]|0[0-9]|1[0-3]|2[0-3]):[0-5][0-9]$,
       "alertText": "* Invalid Time"
    }

私は次の入力を取るメソッドを持っています:

//for regex validation
    function inputFilter(inputbox, regex) {

        var regExStart = "/\\";
        var regExEnd = "/\\";

        consol.log("Reg Ex Validation : "+regExStart + regex + regExEnd);
        txb.value = inputbox.value.replace( regex, "");
    }

上記のメソッドを呼び出すと、次のようになります。Uncaught SyntaxError: Unexpected token ILLEGAL

の構築を間違えたかどうかはわかりませんregex。私はそれが次のようであるべきだと思います:

 /^([0-9]|0[0-9]|1[0-3]|2[0-3]):[0-5][0-9]$/ and i have to append `//` with my `regex`.

これを行うのを手伝ってください。

4

2 に答える 2

1

次のように、文字列から正規表現をコンパイルできます。

var regexCompiled = new RegExp(regex);
txb.value = inputbox.value.replace(regexCompiled, "");

また、おそらくパターンの周りに引用符がありません:

"regex": "^([0-9]|0[0-9]|1[0-3]|2[0-3]):[0-5][0-9]$",

そしてもちろん、代わりに次のように正規表現を使用することもできます。

"regex": /^([0-9]|0[0-9]|1[0-3]|2[0-3]):[0-5][0-9]$/,

そうすれば、それをコンパイルする必要さえありません。

于 2013-09-18T11:45:04.560 に答える
0

このようなJavaScriptで正規表現を作成できます

var re = /^[a-z]$/g;

また

var re = new RegExp("^[a-z]$", "g");

正規表現を参照してください

于 2013-09-18T11:46:28.037 に答える