2012-09-07 32 views
0

我需要一個正則表達式來檢查字符串的第一個字符是'+'而其餘的是數字。如:919447733140正則表達式來檢查字符串的第一個字符是'+',其餘的是數字

+2

一個快速谷歌搜索本可以得到你的答案。 –

+0

我們希望您嘗試自己解決這個問題,而不是要求社區爲您解決完整的解決方案。當你有一些代碼向我們展示,證明你有一些努力(即使它是錯誤的),請更新你的問題和標誌重新打開。謝謝。 – Kev

回答

5

這會做你想要/^\+\d+$/

您可以使用它像這樣的內容:

function isPlusNum(num) { 
    return /^\+\d+$/.test(num); 
} 
console.log(isPlusNum('+5555'); //returns true; 
console.log(isPlusNum('-5555'); //returns false; 
4

這裏是覆蓋它的正則表達式:

/^\+\d+$/ 
0

爲其他人說,/^\+\d+$/明確的正則表達式。然而,在你繼續之前,我感到不得不鼓勵一會兒。

這是用來驗證手機號碼(含國家代碼一起,例如: 919447733140)

除非你告訴他們具體,他們只能爲他們的電話號碼是格式,可能會遇到驗證問題。不僅如此,還有更大,更好的正則表達式用於匹配更大範圍的電話號碼(包括分機,標點符號,國際變體等)。即便如此,許多人只是簡單地相信收集電話號碼的最佳方式並不意味着任何正則表達式的限制 - 只要讓他們給你想要給你的東西。這是你的選擇! //end rant. :)

0

因此,有/^\+\d+$/你有你的表達,但正如克里斯蒂安所說:人們傾向於用空格,破折號,甚至點和逗號。此外,像00919447733140這樣的輸入也是有效的。開頭的double 0等於+符號。

如果我是你,我會轉的東西沿着這些線路:

pn = '00919-4477 33140'; 
pn.replace(/[^+0-9]/g,'').match(/^(0{2}|\+)\d+$/)[0];//<--00919447733140 
0

你可以使用這個表達式,這將有助於您驗證印度的手機號碼

(\+91|0091)?[7-9][0-9]{9} 
相關問題