以下正则表达式正在使用Internet Explorer,但它不适用于Firefox或Chrome。
function CheckValidText(comment) {
var regex = new RegExp("^[A-Za-z0-9\*]{1}+[A-Za-z0-9[:blank:]]*");
var regExpr = new RegExp(regex);
var result = comment.search(regExpr);
if (comment.search(regExpr) != -1) {
return true;
}
else {
return false;
}
}
答案 0 :(得分:1)
您正在使用RegExp
对象创建另一个RegExp
对象,该对象不应在任何浏览器中运行。只需使用字符串:
var regex = "^[A-Za-z0-9\*]{1}+[A-Za-z0-9[:blank:]]*";
var regExpr = new RegExp(regex);
答案 1 :(得分:0)
你的问题是:{1}+
使用{1}
,您只需指定前一项中的一项....但随后使用+
,您将指定其中一项或多项。他们彼此冲突。
根据您的要求,您需要放弃{1}
或+
。
如果删除其中一个或其他代码,则代码在Firefox中可以正常工作。 (使用Firebug测试)
然而,正如@Guffa所说,你似乎有一些奇怪的逻辑,你从另一个创建一个正则表达式对象 - 它似乎确实有效,但它确实不是一件好事,可能会导致其他问题(我还没有在Chrome中试过它。)