2015-01-06 87 views
0

有特殊字符的手機號碼,我試圖建立一個正則表達式來驗證接受()手機號碼,-+。我完全是新來這個,這是我能建造正則表達式在C#

\+?\(?([0-9])\)?[- ]?\(?([0-9])\)? 

但我知道這不對,因爲它是接受的數據,如123456-這是不正確的。 有人可以幫我建立一個正則表達式,這樣itdoes不接受輸入,比如

123)3575 
12349- 
-2345678 

沒有限制的進入位數。我期待它接受類型

(123)4567-67898 
+234567890 
1234-4567-67 

請幫助的投入..

+1

您可能需要更確切地確定哪些公式可以接受,哪些不可接受。例如,「9-3-5-23-4」會被接受嗎?一個括號中的數字或a +組只能出現在數字的開頭嗎?除非你能更清楚地知道什麼是不允許的,否則很難給你一個好的答案。如果你可以很清楚,你幾乎可以自己解決問題。 – Tony

回答

1

喜歡的東西

/^(\+|\(\d+\))?\d+(-\d+)*$/ 

Regex Demo

測試

Regex.IsMatch("(123)4567-67898", @"^(\+|\(\d+\))?\d+(-\d+)*$"); 
=> True 

Regex.IsMatch("-2345678", @"^(\+|\(\d+\))?\d+(-\d+)*$"); 
=> False