可能重複:
A comprehensive regex for phone number validation赦的JavaScript驗證了美國的電話號碼,並允許擴展(jQuery的允許)
也許一顆寬容的JavaScript解決方案只會確保只有合法的字符被允許。 (數字,破折號,句號,字母擴展
雖然環看起來最好,有沒有檢查有效字符一個簡單的正則表達式
可能重複:
A comprehensive regex for phone number validation赦的JavaScript驗證了美國的電話號碼,並允許擴展(jQuery的允許)
也許一顆寬容的JavaScript解決方案只會確保只有合法的字符被允許。 (數字,破折號,句號,字母擴展
雖然環看起來最好,有沒有檢查有效字符一個簡單的正則表達式
正則表達式只是javascript,而不是jQuery。你尋求的格式是什麼?在擴展中允許多少個字母?我可以look it up,但如果你願意的話,它會有很大的幫助。看起來從7到11位數字是允許的。
這是好的,允許用戶在3個或4個字符塊輸入電話號碼,因爲它是更容易爲他們讀,如:
914-499-1900
或
914 499 1900
或類似。如果您喜歡,請修剪空間進行驗證或存儲。
對於上述格式完全相同:
function testPhoneNumber(phoneNumber) {
var re = /^\d{3}[- ]?\d{3}[- ]?\d{4}$/;
return re.test(phoneNumber);
}
或者你可以刪除不必要的,但不允許的字符和測試剩下:
function testPhoneNumber(phoneNumber) {
var re = /^\d{10}$/;
return re.test(phoneNumber.replace(/[ -+]/g,''));
}
但這些不允許擴展。如果提供格式,則正則表達式部分很容易。
這不完全是我們使用的,但它跳躍開始我們在正確的方向。謝謝! – finneycanhelp 2011-06-03 00:34:04
您正則表達式:?\d|\.|\-
雖然技術上你想要的對面在行動>
$('input').blur(function() {
var value = $(this).val();
$(this).val(value.replace(/[^\d\.\-]/g, ''));
});
見小提琴 - - [^\d\.\-]
所以你可以做一個替代http://jsfiddle.net/GspT4/
有趣。我在jsfiddle中試過了,它很整潔! – finneycanhelp 2011-06-03 00:35:27
http://stackoverflow.com/questions/123559/a-comprehensive-regex-for-phone-number-validation/123666#123666 – sidyll 2011-06-01 12:40:19