入力された正規表現が JavaScript で有効かどうかをテストする方法があるかどうか疑問に思っていました。
何かのようなもの
if ( isValidRegexp($("#regexp")) { ... }
この質問のような正規表現は必要ありません有効な正規表現に一致する正規表現
入力された正規表現が JavaScript で有効かどうかをテストする方法があるかどうか疑問に思っていました。
何かのようなもの
if ( isValidRegexp($("#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
OK、とても簡単です。新しい RegExp オブジェクトを作成し、エラーをキャッチするだけです。
try{
var r = new RegExp("my regex string");
}
catch(e){
//regex is invalid
}