检查input的数字是否是jQuery中的数字

我有一个简单的用户input数字的textbox
jQuery是否有一个isDigit函数,如果用户input的不是数字,它将允许我显示一个警告框?

该字段也可以有小数点。

我会build议使用正则expression式:

 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的build议使用一个正则expression式:

 var numberRegex = /^[+-]?\d+(\.\d+)?([eE][+-]?\d+)?$/; var str = $('#myTextBox').val(); if(numberRegex.test(str)) { alert('I am a number'); ... } 

忘记正则expression式。 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 } 

有一个简单的方法来检查一个variables是否是一个整数。 你可以使用$ .isNumeric()函数。 例如

 $.isNumeric( 10 ); // true 

这将返回true,但如果你把一个string代替10,你会得到错误的。

我希望这对你有用。

以下脚本可用于检查值是否为有效整数。

  function myFunction() { var a = parseInt("10000000"); if (!isNaN(a) && a <= 2147483647 && a >= -2147483647){ alert("is integer"); } else { alert("not integer"); } } 

值validation不是jQuery的责任。 你可以使用纯JavaScript来做到这一点。 我想到的两种方法是:

 /^\d+$/.match(value) Number(value) == value 

使用jQuery的validation插件,你可以做这样的事情,假设窗体被称为窗体,并且validation的值被称为nrInput

 $("form").validate({ errorElement: "div", errorClass: "error-highlight", onblur: true, onsubmit: true, focusInvalid: true, rules:{ 'nrInput': { number: true, required: true } }); 

这也处理十进制值。

 String.prototype.isNumeric = function() { var s = this.replace(',', '.').replace(/\s+/g, ''); return s == 0 || (s/s); } 

用法

 '9.1'.isNumeric() -> 1 '0xabc'.isNumeric() -> 1 '10,1'.isNumeric() -> 1 'str'.isNumeric() -> NaN 
 var yourfield = $('fieldname').val(); if($.isNumeric(yourfield)) { console.log('IM A NUMBER'); } else { console.log('not a number'); } 

JQUERY DOCS:

https://api.jquery.com/jQuery.isNumeric/

jQuery是一组JavaScript函数,对吗? 所以你可以使用JavaScript的正则expression式支持来validationstring。 如果你喜欢的话,你可以把它放在一个jQuerycallback函数中,因为它们只是匿名声明的函数体,而且函数仍然是JavaScript。

链接: http : //www.regular-expressions.info/javascript.html

 $(document).ready(function () { $("#cust_zip").keypress(function (e) { //var z = document.createUserForm.cust_mobile1.value; //alert(z); if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) { $("#errmsgzip").html("Digits Only.").show().fadeOut(3000); return false; } }); });