2011-12-01 114 views
1

可能重複:
A comprehensive regex for phone number validation模式匹配

我想出來的正確的模式,以驗證在JavaScript中的電話號碼。數字格式如下: 電話號碼是10位數字 電話號碼必須以012,013,019,014或016開頭。 這個過程對我來說非常混亂..任何人都可以幫忙嗎? 提前的高度讚賞..

+0

馬來西亞電話號碼我猜? – slier

+0

是的..馬來西亞手機號碼.. – Alsaket

回答

3

嘗試:

/^01[23469]\d{7}$/.test("your telephone number"); 
+0

我想你是指'/',而不是''''。 –

+0

是的,你很對,謝謝! –

+0

您可能最後還需要一個'$',所以它不會匹配更長的數字(並忽略最後一位數字)。 – Tetaxa

1

使用正則表達式是這樣的:

phone.match(/^01[23469]\d{7}/) 

其中phone的電話號碼是可變的。正則表達式意味着它必須以0開始(^),然後是1,然後是2,3,4,6,9以及之後7個數字。

+0

有10位數字。 –

+0

@bitsMix已經修復。 – Tesserex

2

這種模式應該工作

^01[23469]\d{7}$ 
0

我想你想使用正則表達式這裏

的例子/教程here應該引導你在正確的方向

善良,

D

+0

謝謝大家在這裏誰幫了我很多.. 我真的很感謝你對我的問題非常友善的回覆 – Alsaket

0

H嗷嗷「回合:

if (/^(?:012|013|019|014|016)\d{7}$/.test(str)) { 
    // okay 
} 

這是一個regular expression(MDC對他們good page)查詢後緊跟七位數的交替(任何的012,013,019,014,016或)。開頭的^與字符串的開頭匹配,並且末尾的$與末尾匹配,禁止使用無關字符。在做這件事之前你可能會考慮修剪空白。

爲了清楚起見,我使用了一個替換而不是^01[23946],並允許輕鬆添加其他前綴。

Live test


附註:我總是試圖從驗證電話號碼勸阻的人。當他們需要(需要)輸入您的規則不允許的內容時,它最終會讓人不愉快。而且,通常10位數的電話號碼是按組編寫的,例如, (有時寫爲「」)或「020 8123 4567」(有時寫爲「0208 123 4567」)。驗證之前,您必須去掉內部空間,以便人們可以用各種方式書寫。

+0

我真的很欠你,你們所有人。 你在stackoverflow中給了我很多幫助,通過回答我的問題(Android,Ajax,Javascript,Google Maps API3和PHP),成功提交了我的最終項目項目。我真的非常感謝你。 – Alsaket