2011-10-13 80 views
0

我需要檢查格式電話號碼。Javascript中的電話號碼格式

+33xxxxxxxxx

0033xxxxxxxxx

編輯0xxxxxxxxx

我如何可以做到這一點(出)正則表達式?

+2

可能是最好的庫處理電話號碼:http:///code.google.com/p/libphonenumber/ –

+1

@JamesAllardice - 這應該是一個答案,而不是評論。 – 2011-10-13 15:44:15

+0

我認爲不應該。這不是一個完整的答案,它只是一個有用的參考。 –

回答

1
if (/^(?:(?:\+|00)33|0)\d{9}$/.test(subject)) { 
    // Successful match 
} else { 
    // Match attempt failed 
} 
+0

哦!太好了,但是如果我需要用'261'或其他值更改'33'?代碼是什麼? – Steffi

+0

如果您仍然期望國家代碼後有9位數字,那麼只需將'261'替換爲'33'。如果你想同時允許,使用'(?:216 | 33)'而不是'33'。 –

+0

是的,但如果它是一個隨機值? – Steffi

0

這是驗證你的例子正則表達式:

/(\+|(00)|0)[0-9]{11}/.test(stringToTest) 
+0

但它也驗證12345678901 。 –

1

試試這個正則表達式:/^((\+|00)\d{2})?\d{9}$/

這符合你的每一個給定的情況下(+YYXXXXXXXXX00YYXXXXXXXXXXXXXXXXXX)。

編輯:爲了配合你的編輯:/^((\+|00)\d{2}|0)\d{9}$/

1

PhoneFormat.com有一個JavaScript庫,有一些格式化功能,您可以輕鬆將其放入您的項目中。它會採取任何你扔在它的數字,並嘗試將其轉換爲e164(+ 33252525252),並格式化它(+33 2 52 52 52 52)