2011-04-04 24 views
5

如何测试字符串是否仅包含使用RegEx的数字和空格?数字和空格 - 宽松的电话正则表达式

  1. 021 123 4567有效
  2. 0211234567有效
  3. 0211 234 567有效

相当宽松,但是这符合我的要求。

对此提出建议?

+0

当然电话号码可以表示为字母,以及(1-800-花或联系人或其他) – ryber 2011-04-05 00:21:36

+0

@ryber:它是用户的手机号码(新西兰格式) – Marko 2011-04-05 02:16:35

回答

10

如何/^[\d ]+$/?如果需要以数字开头和结尾,则应该使用/^\d[\d ]*\d$/

+0

这对我来说没有任何数字。我只是在这里测试“012 323 2313”http://www.regular-expressions.info/javascriptexample.html – Marko 2011-04-04 23:15:49

+1

@Marko,如果您使用的是测试者,请不要包含/。只要把文字^ [\ d] + $ – 2011-04-04 23:18:38

+1

@Marko:你是否删除了前导和尾部的'/'?这些只是正则表达式分隔符。试试字符串'^ \ d [\ d] * \ d $',你会发现它匹配'012 323 2313'就好了。 – CanSpice 2011-04-04 23:18:47

0

喜欢的东西:

\d*|\s+^[A-Za-z] 
+0

不会允许字母以及? – Marko 2011-04-04 23:11:23

+0

@Marko您可以使用像这样的RegEx测试器进行测试。 :) http://regexlib.com/RETester.aspx – eandersson 2011-04-04 23:13:26

+0

@Fuji,我做了(这一个http://www.regular-expressions.info/javascriptexample.html),并把“Asdasd”回来成功。 – Marko 2011-04-04 23:14:13

4
  • [0-9] < - 这意味着在0和9
  • [0-9 ] <之间的任何单个数字 - 这意味着在0和9,或一个空间
  • [0-9 ]{1,} <之间的任何单个数字 - 这意味着任何单个0和9,或一个空间之间的数字,1次或多次
  • [0-9 ]{1,9} < - 这意味着在0和9,或一个空间之间的任何单个数字,1〜9倍
3

数字Ñ与任意数目的空格:

^(\s*\d\s*){11}$ 

这里N = 11; 测试:here