基本的Javascript正则表达式

Ske*_*ave 6 javascript regex

我正在尝试学习javascript正则表达式而且我遇到了问题.

我正在尝试使用以下规则进行验证.

仅允许:

Numbers 0-9 
( 
) 
+
-
(space)
Run Code Online (Sandbox Code Playgroud)

我已经拿出下面的正则表达式来处理这个:

/[0-9\)\(\+\- ]+/i
Run Code Online (Sandbox Code Playgroud)

以下匹配但不应该执行,因为它包含@符号:

+0@122 0012
Run Code Online (Sandbox Code Playgroud)

我正在使用以下测试:(返回true)

/[0-9\)\(\+\- ]+/i.test("+0@122 0012")
Run Code Online (Sandbox Code Playgroud)

谢谢.

Poi*_*nty 15

您的正则表达式与"@"字符不匹配,但它不必为了使.test()调用返回true.只需要在字符串中的某个位置匹配.

如果你想坚持整个字符串匹配,你必须使用^$锚点.

/^[0-9)(+ -]+$/i.test("+0@122 0012")
Run Code Online (Sandbox Code Playgroud)

  • D'哦!你打败了我大约三秒钟! (5认同)