我已經創建了一個窗體。在該窗體中,它放置了一個文本框。該文本框應該只取整數而不是字符或浮點數。所以我應用了這樣的驗證。是否正確?驗證整數
var a = document.getElementById('textbox1').value;
var b = /^\d+$/;
If (a.search(b) == -1)
{
alert(Must be Interger);
return false;
}
我已經創建了一個窗體。在該窗體中,它放置了一個文本框。該文本框應該只取整數而不是字符或浮點數。所以我應用了這樣的驗證。是否正確?驗證整數
var a = document.getElementById('textbox1').value;
var b = /^\d+$/;
If (a.search(b) == -1)
{
alert(Must be Interger);
return false;
}
是的,這將工作,除非它是允許攜帶一個負整數,在這種情況下,你需要前\d
添加-?
(可選負號),你可以使用這個腳本整數驗證。
var value = Number(intfield.value);
if (Math.floor(value) == value) {
// value is integer, do something based on that
} else {
// value is not an Integer, show validation alerts
}
您好我想下面的答案會是更好的,這樣就可以實現多個文本框
<script>
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 45 || charCode > 57)) {
return false;
return true;
}
}
</script>
感謝 巴努•普拉卡什
爲什麼'返回false;返回true;'不斷? – 2012-03-20 05:45:48
這應該工作:
var textboxValue = document.getElementById('textbox1').value;
if (!textboxValue.test(/^\d+$/)){
alert('Must be Interger');
return false;
}
其一個很好的習慣,把簡單的名字放在變數上,否則你將會丟失數月ater whan你檢查你的代碼:D
你應該使用b.test(a)。並且警報應該包含引號中的字符串'' – 2012-03-20 05:21:50