2014-07-11 28 views
0

我有一个关于限制在某些输入字段中输入的值的问题。我想输入这个:JavaScript中的正则表达式代码限制输入字段

9digits-whatever,例如101010101-Teststring。

我想出了这个正则表达式作为一个解决方案,但它似乎并不正确:

^\d{9}\-[a-zA-Z0-9_]*$ 

任何想法在这一个?

谢谢。

+1

只要使用'/^\ d {9} - + $ /' – anubhava

+0

记住'/ [A-ZA-Z0-9 _] /'正是'/ \ W/' – Borodin

回答

2

下面的正则表达式将匹配- follwed 9位和任意数目的字符,

^\d{9}-.*$ 

如果你想最少一个字符,随后-,然后尝试下面的正则表达式。

^\d{9}-.+$ 

说明:

  • ^断言,我们是在该行的开头。
  • \d{9}正好9位数字。
  • \-文字-符号。
  • .*匹配任何字符零次或多次。
  • $行结束。
+0

谢谢你,Avinash Raj,做到了! – newoverstack

+0

@newoverstack很高兴出来:-) –

+0

是否有任何需要转义连字符? – Braj

1
  • 有没有必要转义连字符-
  • 使用\w包括[a-zA-Z0-9_]

尝试下面的正则表达式,如果只有[a-zA-Z0-9_]后9位数字和连字符。

^\d{9}-\w*$ 

Online demo

+0

在这种情况下,OP的'$'匹配字符串的末尾,而不是文字''$'' – RevanProdigalKnight

+0

@RevanProdigalKnight对不起,该部分被删除,但$最终作品,但不作为负字符集的一部分。 – Braj

相关问题