2015-01-09 59 views
-2

我試圖驗證電話號碼在JavaScript中使用正則表達式如下電話號碼的正則表達式JavaScript的

var phoneExpression = /^\(?([0-9]{9})\)?$/; 

這種表達可與XXXXXXXXX號碼,但我需要XXXXXXXXX一個正則表達式,+ XX XXXXXXXXX和+ X xxxxxxxxx和所有我試過失敗。

+0

所以沒有一個單一的答案,這裏的相同的問題上,這樣對你的工作嗎?他們是如何工作的,你的問題有什麼不同? http://stackoverflow.com/questions/123559/a-comprehensive-regex-for-phone-number-validation,http://stackoverflow.com/questions/14639973/javascript-regex-what-to-use-to-驗證電話號碼等。 – GitaarLAB 2015-01-09 18:42:53

+0

'/(?:\ + | \ s)?\ d {9} /' – 1252748 2015-01-09 18:45:07

+0

'。*'是最好的答案。並推動(潛在的)客戶參加*做*做*正確*事情的競爭。否則......接下來會實施電子郵件驗證,對人名和所有(高中)爵士樂進行假設。你應該*做的是:模擬客戶端你的服務器端將拒絕的內容。 – GitaarLAB 2015-01-09 18:50:58

回答

0

琴絃你想這一個:

/^(\+\d{1,2}\s)?\d{9}$/ 

歡,所有的這些:

123456789 
+1 123456789 
+12 123456789 

不匹配這些:

+12123456789 
+12 12345678 

...這是一個註釋:

/ 
    ^   // String start 
    (
     \+  // Plus sign 
     \d{1,2} // One or two digits 
     \s  // Whitespace 
    )?   // The whole prefix group is optional 
    \d{9}   // 9 digits 
    $    // String end 
/g 
+0

與9位數以下的數字匹配+ xx xxxxxxxx匹配:( – AFS 2015-01-09 19:03:41

+0

@json_noob更新了我的答案,看一看(添加'^'和'$'並將'\ d +'替換爲'\ d {9}') – 2015-01-09 19:05:40

+1

現在的作品謝謝你 – AFS 2015-01-09 19:09:18

0
^\+?(([0-9]{1})*[- .]*([0-9]{3})*[- .]*[0-9]{3}[- .]*[0-9]{6})+$ 

應該與你正在尋找

+1

爲什麼downvote? – SNAG 2015-01-09 18:44:36

+1

那不是我:< – 2015-01-09 18:44:51

+2

它不符合第二種情況。我的downvote。 – 1252748 2015-01-09 18:45:29