回答:
regex.test()
必要なのがブール結果である場合に使用します。
console.log(/^([a-z0-9]{5,})$/.test('abc1')); // false
console.log(/^([a-z0-9]{5,})$/.test('abc12')); // true
console.log(/^([a-z0-9]{5,})$/.test('abc123')); // true
...そして()
、キャプチャの必要がないので、正規表現からを削除できます。
使用test()
方法:
var term = "sample1";
var re = new RegExp("^([a-z0-9]{5,})$");
if (re.test(term)) {
console.log("Valid");
} else {
console.log("Invalid");
}
RegExp
は、変数値を正規表現文字列に挿入できることに注意してください。
new RegExp("^([a-z0-9]{5,})$")
それを動作させるために
あなたも使うことができますmatch()
:
if (str.match(/^([a-z0-9]{5,})$/)) {
alert("match!");
}
しかしtest()
、あなたがここを読むことができるので、より速いようです。
重要な違いmatch()
とtest()
:
match()
文字列でのみ機能しますが、test()
整数でも機能します。
12345.match(/^([a-z0-9]{5,})$/); // ERROR
/^([a-z0-9]{5,})$/.test(12345); // true
/^([a-z0-9]{5,})$/.test(null); // false
// Better watch out for undefined values
/^([a-z0-9]{5,})$/.test(undefined); // true
match
メンバーがないため、一致は失敗します)。正規表現(String(123)
たとえば)で使用する場合は、数値を文字列に明示的に変換することをお勧めします。
test
と、正規表現に一致する文字列を検証し、そこから部分文字列を抽出しない場合、30%パフォーマンスが向上します。
/youregexp/.test(yourString)
文字列が正規表現に一致するかどうかだけを知りたい場合に使用します。
これは特定のHTMLタグを探す例ですので/someregex/.test()
、ブール値を返すのは明らかです。
if(/(span|h[0-6]|li|a)/i.test("h3")) alert('true');
あなたはこれを試すことができます、それは私にとってはうまくいきます。
<input type="text" onchange="CheckValidAmount(this.value)" name="amount" required>
<script type="text/javascript">
function CheckValidAmount(amount) {
var a = /^(?:\d{1,3}(?:,\d{3})*|\d+)(?:\.\d+)?$/;
if(amount.match(a)){
alert("matches");
}else{
alert("does not match");
}
}
</script>
この花を試してください:
/^[a-z0-9\_\.\-]{2,20}\@[a-z0-9\_\-]{2,20}\.[a-z]{2,9}$/.test('abc@abc.abc');
本当
0-9
aaaaaaaaaaaaaaaaaaaaaまで削減できます\d
。ああ、キャプチャグループは必要ありません。
const regExpStr = "^([a-z0-9]{5,})$"
const result = new RegExp(regExpStr, 'g').test("Your string") // here I have used 'g' which means global search
console.log(result) // true if it matched, false if it doesn't