6

URLフィールドにhttpチェックが存在するためのjQueryバリデータ追加メソッドを追加しました。

JS

jQuery.validator.addMethod("valid_url", function(value, element) {
 if(!/^(https?|ftp):\/\/i.test(val))
    val = 'http://'+val; // set both the value
    $(elem).val(val); // also update the form element
 }

私のコンソールは、次の行で
「正規表現リテラルが終了していません」というエラーをスローします。

if(!/^(https?|ftp):\/\/i.test(val))

私の間違いは何ですか?

4

2 に答える 2

7

正規表現リテラルは区切り文字 ( ) で囲む必要があります/。終了区切り文字はありません:

/^(https?|ftp):\/\//i
//                 ^

例えば:

>> /^(https?|ftp):\/\//i.test('http://stackoverflow.com/')
true
>> /^(https?|ftp):\/\//i.test('telnet://stackoverflow.com/')
false
于 2013-11-09T06:25:38.460 に答える