我需要寫一個正則表達式,這將是對於一些規則的電話號碼是否正確:如何寫一個正則表達式
1) max length 13 symbols
2) it should start from '+'
3) it should contain sonly numbers [0-9]
因此,舉例來說,它應該是這樣的:
+447289347598342745
我需要寫一個正則表達式,這將是對於一些規則的電話號碼是否正確:如何寫一個正則表達式
1) max length 13 symbols
2) it should start from '+'
3) it should contain sonly numbers [0-9]
因此,舉例來說,它應該是這樣的:
+447289347598342745
Regex re = new Regex(@"^\+\d{1,13}$");
在.NET中的超過13個OCCURENCES,就應該把使用
[0-9]
而不是\d
,否則你應該指定RegexOptions.ECMAScript
。否則,正則表達式將匹配一個字符串,如+୧٢३੪૫
(其中包含各種腳本中的Unicode數字1-5)。 - Michael Liu
因此,無論使用:
Regex re = new Regex(@"^\+[0-9]{1,13}$");
// or
Regex re = new Regex(@"^\+\d{1,13}$", RegexOptions.ECMAScript);
也就是說,您可能還需要最小數字位數> 1。 – 2012-03-24 15:09:23
在.NET中,您應該使用'[0-9]'而不是'\ d',否則您應該指定'RegexOptions.ECMAScript'。否則,正則表達式將匹配一個字符串,如'+୧2345'(其中包含各種腳本中的Unicode數字1-5)。 – 2012-03-24 15:28:24
謝謝!我不知道。編輯 – 2012-03-24 15:45:25
這是功課? – 2012-03-24 15:04:25
您的示例的長度爲18.(如果您計算+,則爲19) – 2012-03-24 15:04:32