检查文本框是否仅包含数字

如何检查文本框是否仅包含数字?

谷歌搜索时我遇到了这个。 但是我想知道isNumeric可以用于此目的,或者是否有更简单的方法来检查文本框是否具有数值。

 var query = $('#myText').val(); if (parseFloat(query) == NaN) { alert("query is a string"); } else { alert("query is numeric"); } 

您可以检查用户是否仅使用输入和正则表达式的change事件输入了数字。

 $(document).ready(function() { $('#myText').on('change', function() { if (/^\d+$/.test($(this).val())) { // Contain numbers only } else { // Contain other characters also } }) }); 

正则表达式:

  1. / :正则表达式的分隔符
  2. ^ :从开始
  3. \d :任何数字
  4. + :前面一个或多个字符
  5. $ :结束

正则表达式可视化:

在此处输入图像描述

演示


如果您只想允许数字,可以使用input-numberpattern

  

使用纯JS正则表达式

  var query = document.getElementById('myText').value; var isNumeric=query.match(/^\d+$/); if(isNumeric){/*...*/}else{/*...*/} 

或使用html5控件

   

有很多方法,你可以使用isNaN

  isNaN(VALUE); 

您还可以使用regEx来validation数值。

 console.log(/^\d+$/.test(VALUE)); 

Jquery提供了通用的util方法来处理这个问题。 处理numeric / float / hex

 $.isNumeric( value ) 

尝试: 小提琴

您可以将文本框的值与数字回归进行匹配,以检查它是否仅包含数字,如下面的代码…

 if($('#myText').val().match(/^\d+$/)){ // Your code here }