[英]Javascript Regex IE8 issue
I have a div as defined below: 我有如下定义的div:
<div id="bookmark_error" class="text-error">Character '' is not allowed in bookmark name.</div>
By default it is hidden as defined below: 默认情况下,它是隐藏的,如下所示:
$("#bookmark_error").hide();
Some of characters are not allowed while saving bookmark on a page for eg < and > 在页面上保存书签(例如<和>)时,不允许使用某些字符。
Here a validation check that is performed at the time of bookmark save: 在此保存书签时执行的验证检查:
...
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;
}
}
...
But its not working as expected in IE8 browser. 但是它无法在IE8浏览器中正常工作。 Am I doing something wrong in javascript regex?
我在javascript正则表达式中做错了吗?
Here is some sample value-input-value: 这是一些示例值-输入-值:
value : Character '' is not allowed in bookmark name. 值:书签名称中不允许使用字符“”。
input : < 输入:<
value : Character '<' is not allowed in bookmark name. value:书签名称中不允许使用字符“ <”。
input : > 输入:>
output : Character '>' is not allowed in bookmark name. 输出:书签名称中不允许使用字符“>”。
You need to add \\d
in your regex for it to work on ie8 您需要在正则表达式中添加
\\d
才能在ie8上运行
Reference from : RegEx not working in IE8 引用自: RegEx在IE8中不起作用
So your code will look like this 所以你的代码看起来像这样
$("#bookmark_error").html($("#bookmark_error").html().replace(/'[^\d]*'/g, "'"+skipChar+"'"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.