未终止的正则表达式文字 js 错误

unterminated regular expression literal js error

本文关键字:js 错误 文字 正则表达式 终止      更新时间:2023-09-26

我添加了jQuery验证器添加方法,用于http checkin url字段的存在。

.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))

我的错误是什么?

正则表达式文字应该用分隔符(/)包围。没有终止分隔符:

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

例如:

>> /^(https?|ftp):'/'//i.test('http://stackoverflow.com/')
true
>> /^(https?|ftp):'/'//i.test('telnet://stackoverflow.com/')
false

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