我已经创建了一个窗体。在该窗体中,它放置了一个文本框。该文本框应该只取整数而不是字符或浮点数。所以我应用了这样的验证。是否正确?验证整数
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