2011-04-04 60 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