Javascript正则表达式IE8问题
我有一个div,定义如下:Javascript正则表达式IE8问题,javascript,regex,internet-explorer-8,Javascript,Regex,Internet Explorer 8,我有一个div,定义如下: <div id="bookmark_error" class="text-error">Character '' is not allowed in bookmark name.</div> $("#bookmark_error").hide(); 在页面上保存书签时不允许使用某些字符,例如 此处是保存书签时执行的验证检查: ... var bookmark_name = $("#bookmarks-form").find('input[t
<div id="bookmark_error" class="text-error">Character '' is not allowed in bookmark name.</div>
$("#bookmark_error").hide();
在页面上保存书签时不允许使用某些字符,例如<和>
此处是保存书签时执行的验证检查:
...
var bookmark_name = $("#bookmarks-form").find('input[type=text]').val();
var skipChars = ["<", ">", "<", ">", "<", ">", "<", ">", "<", ">"];
for (var i=0; i < skipChars.length; i++){
var skipChar = skipChars[i];
while(bookmark_name.indexOf(skipChar) != -1){
$("#bookmark_error").html($("#bookmark_error").html().replace(/'[^]*'/g, "'"+skipChar+"'"));
$("#bookmark_error").show();
return;
}
}
...
。。。
var bookmark_name=$(“#bookmarks form”).find('input[type=text')).val();
var skipChars=[“”、“”、“”、“<”、“>”、“<;”、“>;”、“<”、“>”];
对于(变量i=0;i
但在IE8浏览器中,它并没有像预期的那样工作。
我是否在javascript正则表达式中做错了什么
以下是一些示例值输入值:
值:书签名称中不允许使用字符“”
输入:
输出:书签名称中不允许使用字符“>”。您需要在正则表达式中添加
\d
,它才能在ie8上工作
参考资料来源:
因此,您的代码将如下所示
$("#bookmark_error").html($("#bookmark_error").html().replace(/'[^\d]*'/g, "'"+skipChar+"'"));
也许这会很好地工作。$(“#bookmark_error”).html($(“#bookmark_error”).html()代码>请验证。在正则表达式中\d代表什么?它包含字符吗?一个数字,用谷歌搜索一下。
\d
代表数字。有关更多信息,请查看参考链接^\d