使用JavaScript匹配完全字符串

Ser*_*gel 40 javascript regex

如何测试RegEx是否与字符串完全匹配?

var r = /a/;
r.test("a"); // returns true
r.test("ba"); // returns true
testExact(r, "ba"); // should return false
testExact(r, "a"); // should return true
Run Code Online (Sandbox Code Playgroud)

Jim*_*mmy 91

var r = /^a$/
Run Code Online (Sandbox Code Playgroud)

要么

function matchExact(r, str) {
   var match = str.match(r);
   return match && str === match[0];
}
Run Code Online (Sandbox Code Playgroud)

  • 另请参阅下面 svante 的答案,因为它解释了为什么这样做。 (2认同)

Pre*_*aul 20

不同地写你的正则表达式:

var r = /^a$/;
r.test('a'); // true
r.test('ba'); // false
Run Code Online (Sandbox Code Playgroud)


Sva*_*nte 10

如果你不使用任何占位符(因为"确切"似乎意味着),那么字符串比较呢?

如果你使用的占位符,^$分别匹配开头和一个字符串的结尾.