2012-11-18 381 views
1

我想驗證一個11位數的電話號碼,必須以09開頭(即09123456789),使用javascript進行客戶端檢查。Javascript正則表達式:驗證電話號碼

這是我的代碼:

function validatePhone(number) { 
    var re = /^09[0-9]{9}$/; 
    return re.test(number); 
} 

它工作正常,據我所知在第一,但現在它的任何號碼,我使用返回無效。有人知道我的代碼有什麼問題嗎? 順便說一下,因爲我使用jQuery,如果有更好的方式與jQuery會好得多。

+6

該代碼工作正常。我想,你的錯誤在別處。 – Pointy

+0

你使用了什麼號碼?另外,jQuery不是解決所有問題的不可思議的解決方案。仔細的調試是。 –

+0

下次使用代表問題的實際代碼。 –

回答

6

我假設你在論證中發送一個整數,把它作爲一個字符串

function validatePhone(number) { 
    var re = /^09[0-9]{9}$/; 
    return re.test(number); 
} 

​alert(validatePhone('09123456789'));​​​ 
// returns true  
alert(validatePhone(09123456789));  
// returns false ​ 

http://jsfiddle.net/3bFwd/

+2

羽絨選民,謹慎解釋? –

+0

是的,你是對的問題是我正在檢查.text()而不是.val()。我長時間糟糕的編程會導致這些愚蠢的錯誤。非常感謝 –

+0

+1,但你不需要聲明兩次函數。 –

相關問題