我有一個簡單的AJAX形式,我想驗證它jQuery的驗證電話號碼與正則表達式
- 有一個值
- 該值是一個10位數
我正嘗試使用RegEx來做到這一點。這是我到目前爲止。
var reg = new RegExp("/[0-9]{10}/");
$("#call_form").bind("submit", function() {
if ($("#call_number").val().length < 1 && reg.test($("#call_number").val())) {
$("#call_error").show();
return false;
}
});
我知道這個問題與他的RegExp有關,就好像我刪除了這部分代碼,它驗證了該框有一個值。
編輯:這裏是我使用
var regEx = new RegExp("/[0-9]/");
$("#call_form").bind("submit", function() {
if ($("#call_number").val().length != 10 && !$("#call_number").val().match(regEx)) {
$("#call_error").show();
$.fancybox.resize();
return false;
}
});
EDIT 2 這裏使用的建議,最終的正則表達式是什麼,我usign允許空格和破折號是那麼得到的檢查剝離
$("#call_form").bind("submit", function() {
var Phone = $("#call_number").val().replace(/\D+/g,'');
if (Phone.length != 10) {
$("#call_error").show();
$.fancybox.resize();
return false;
}
});
該正則表達式將只檢查,看看是否有字符串中的至少一個數字。你應該保留'{10}'以確保它是全部數字。 – tjameson 2011-04-17 07:59:04
@tjameson好的,如果我保留'{10}',我應該能夠將'length!= 10'丟棄嗎?還是最好不要? – BandonRandon 2011-04-17 08:04:57
是的,但你應該都有。如果正則表達式匹配字符串的任何部分,reg.test將返回true。 – tjameson 2011-04-17 08:06:09