我有一个简单textbox
的用户输入数字。
jQuery 是否具有isDigit
允许我在用户输入数字以外的内容时显示警告框的功能?
该字段也可以有小数点。
我有一个简单textbox
的用户输入数字。
jQuery 是否具有isDigit
允许我在用户输入数字以外的内容时显示警告框的功能?
该字段也可以有小数点。
我建议使用正则表达式:
var intRegex = /^\d+$/;
var floatRegex = /^((\d+(\.\d *)?)|((\d*\.)?\d+))$/;
var str = $('#myTextBox').val();
if(intRegex.test(str) || floatRegex.test(str)) {
alert('I am a number');
...
}
或者根据@Platinum Azure 的建议使用单个正则表达式:
var numberRegex = /^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/;
var str = $('#myTextBox').val();
if(numberRegex.test(str)) {
alert('I am a number');
...
}
忘记正则表达式。JavaScript 有一个内置函数isNaN()
:
isNaN(123) // false
isNaN(-1.23) // false
isNaN(5-2) // false
isNaN(0) // false
isNaN("100") // false
isNaN("Hello") // true
isNaN("2005/12/12") // true
就这样称呼它:
if (isNaN( $("#whatever").val() )) {
// It isn't a number
} else {
// It is a number
}
有一种更简单的方法可以检查变量是否为整数。您可以使用 $.isNumeric() 函数。例如
$.isNumeric( 10 ); // true
这将返回真,但如果你用一个字符串代替 10,你会得到假。
我希望这对你有用。
以下脚本可用于检查值是否为有效整数。
function myFunction() {
var a = parseInt("10000000");
if (!isNaN(a) && a <= 2147483647 && a >= -2147483647){
alert("is integer");
} else {
alert("not integer");
}
}
值验证不是 jQuery 的责任。您可以为此使用纯 JavaScript。我想到的两种方法是:
/^\d+$/.match(value)
Number(value) == value