检查一个字符串是否与JS中的正则表达式匹配

我想使用JavaScript(可以与jQuery)做一些客户端验证,以检查字符串是否与正则表达式匹配:

^([a-z0-9]{5,})$

理想情况下,这将是一个表达式,返回true或false。

我是一个JavaScript新手,不match()做我需要什么? 它似乎检查一部分字符串是否匹配正则表达式,而不是整个事物。


使用regex.test()如果你想要的只是一个布尔结果:

/^([a-z0-9]{5,})$/.test('abc1');   // false

/^([a-z0-9]{5,})$/.test('abc12');   // true

/^([a-z0-9]{5,})$/.test('abc123');   // true

...你可以从你的正则表达式中删除() ,因为你不需要捕获。


使用test()方法:

var string = "sample1";
var re = new RegExp("^([a-z0-9]{5,})$");
if (re.test(string)) {
    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
链接地址: http://www.djcxy.com/p/12861.html

上一篇: Check whether a string matches a regex in JS

下一篇: How to check a not