Javascript正则表达式IE8问题

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,定义如下:

<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 = ["<", ">", "&lt;", "&gt;", "&lt", "&gt", "&#60;", "&#62;", "&#60", "&#62"];
                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