6

我在 url 字段中添加了 jQuery 验证器添加方法来检查 http 检查的存在。

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 回答
2

如果您只是尝试连接使用正则表达式的变量并在某处忘记引号,您也可能会收到此错误。

于 2019-03-06T21:04:13.230 回答