2014-11-25 79 views
-2

我有一個文本框,使用帶有類型編號的輸入標籤。現在有時如果用戶在文本框中輸入字母,它只是清除文本框。當用戶在文本框中輸入字母時,我需要提醒一條錯誤消息。關於文本框的驗證

我試過使用document.getElementById(「idofTextbox」)。validity.valid,但它是真實的。所以任何建議或解決這個問題。

在此先感謝。

+0

你想阻止用戶在文本框輸入字母? – 2014-11-25 06:39:31

+0

用戶可以輸入任何內容,但用戶在類型爲數字的文本框中輸入字母表時應該有用戶提示。 – Elayaraja 2014-11-25 06:42:03

+0

那麼爲什麼要讓字母表,如果你只想要數字...?看到這個例子:http://jsfiddle.net/lesson8/HkEuf/1/ – 2014-11-25 06:43:20

回答

0

下面的代碼可以幫助你

var numberOnly = new RegExp('^[0-9]+$'); // RegEx 
var inputVal = document.getElementById("id").value; 
numberOnly.test(inputVal); // Returns true/false 
+0

由於我已將輸入標記的類型設置爲數字,因此只要調用表單的功能。但是我想在清除文本框之前給出警報。 – Elayaraja 2014-11-25 06:44:48

0

您可以使用這樣

<input type="text" name="First Name" id="first" placeholder="Enter number here"/> 
$('#first').keyup(function(event){ 
    if(isNaN(String.fromCharCode(event.which))){ 
     var value = $(this).val(); 
     $(this).val(""); 
     alert("Enter only numbers"); 
    } 
}); 

工作 JSFIDDLE HERE

0

這裏 「KEYUP數字」 是一類你輸入字段。 注意改變你的「輸入型=‘號’」到「輸入型=‘文本’」

$('.keyup-numeric').keyup(function() { 
    $('span.error-keyup-1').hide(); 
    var inputVal = $(this).val(); 
    var numericReg = /^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/; 
    if(!numericReg.test(inputVal)) { 
     $(this).after('<span class="error error-keyup-1">Numeric characters only.</span>'); 
    } 
}); 

fiddle DEMO