我想使用JavaScript(我也可以使用jQuery)来做检查字符串是否匹配正则表达式^([a-z0-9]{5,})$,并得到一个真或假的结果。

Match()似乎是检查字符串的一部分是否匹配正则表达式,而不是整个正则表达式。它能解决问题吗?我能用它来解决问题吗?如何?


当前回答

try

 /^[a-z\d]{5,}$/.test(str)

console.log( /^[a-z\d]{5,}$/.test(“abc123”) ); console.log( /^[a-z\d]{5,}$/.test(“ab12”) );

其他回答

try

 /^[a-z\d]{5,}$/.test(str)

console.log( /^[a-z\d]{5,}$/.test(“abc123”) ); console.log( /^[a-z\d]{5,}$/.test(“ab12”) );

请试试这种花:

/^[a-z0-9\_\.\-]{2,20}\@[a-z0-9\_\-]{2,20}\.[a-z]{2,9}$/.test('abc@abc.abc');

真正的

let str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; /[a-d]/gi; console.log (str.match(正则表达式);

使用test()方法:

var term = "sample1";
var re = new RegExp("^([a-z0-9]{5,})$");
if (re.test(term)) {
    console.log("Valid");
} else {
    console.log("Invalid");
}

你也可以使用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