我想知道是否有一种方法可以测试输入的正则表达式在 JavaScript 中是否有效。
就像是
if ( isValidRegexp($("#regexp")) { ... }
我不需要像这样的问题Regexp 匹配有效正则表达式的正则表达式
我想知道是否有一种方法可以测试输入的正则表达式在 JavaScript 中是否有效。
就像是
if ( isValidRegexp($("#regexp")) { ... }
我不需要像这样的问题Regexp 匹配有效正则表达式的正则表达式
你可以像这样创建这个函数:
function isValidRE(str) {
var isValid=true;
try {
var re = new RegExp(str, "g");
} catch(err) {
isValid=false;
}
return isValid;
}
console.log(isValidRE("\d")); // true
console.log(isValidRE("(\d")); // false
好的,所以这很容易。您只需创建一个新的 RegExp 对象并捕获错误:
try{
var r = new RegExp("my regex string");
}
catch(e){
//regex is invalid
}