2013-05-14 80 views

回答

0

您可以使用正則表達式對象:^\d+$ 瞭解更多關於Javascript中正則表達式的用法Here

3

既然你似乎想要得到一個電話號碼,而不是一個普通的數字,你可能想使用telinput

<input type="tel" name="phoneno" class="required number" maxlength="15" pattern="\d{10}" id="ph" /> 

MSDN on <input> and its attributes。我刪除了minlength,因爲它不是有效的屬性,但pattern屬性的正則表達式需要10個字符。如果您希望在允許的電話號碼格式中更靈活,則可以更改該正則表達式,例如,您可以使用\d{10}|\d{3}-\d{3}-\d{4}

pattern屬性是實際驗證文本看起來像電話號碼所必需的。默認情況下,瀏覽器對tel輸入的內容沒有多少驗證;它主要只是在移動瀏覽器上顯示帶數字的鍵盤。但是您可以在pattern屬性中編寫JavaScript正則表達式以用於驗證(如MSDN頁面所述)。

+0

+1爲最多的語義選項,刪除我的回答贊成你的 – thefrontender 2013-05-14 06:33:58

0

JQuery的解決方案

HTML停留在它是

<input type="number" name="phoneno" class="required number" minlength="10" maxlength="15" id="ph" /> 

jQuery的

$(function(){$("#ph").blur(function(){ 
    var regX = /^\d+$/; 
    if(regX.test($(this).val()) == false) 
    { 
     //do something it is not int. In this case clear value and alert message 
     $(this).val(''); 
     alert("put integer"); 

    } 

    }); 
}); 
-1

呼籲kypress事件這個功能 46小數點只是刪除它,你是完成。

function isNumberKey(evt) 
    { 
    var charCode = (evt.which) ? evt.which : event.keyCode; 
    if (charCode != 46 && charCode > 31 
    && (charCode < 48 || charCode > 57)){ 
     alert("First Contact Number must be a number(0-9) !"); 
     return false; 
    } 
    return true; 
    } 
+0

是不是更容易使它在正則表達式? – Robert 2013-05-14 06:28:06

+0

說實話,弱正RegEx和變異的答案... – Gaurav 2013-05-14 07:27:21