检查文本框是否仅包含数字
如何检查文本框是否仅包含数字?
谷歌搜索时我遇到了这个。 但是我想知道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 } }) });
正则表达式:
-
/
:正则表达式的分隔符 -
^
:从开始 -
\d
:任何数字 -
+
:前面一个或多个字符 -
$
:结束
正则表达式可视化:
演示
如果您只想允许数字,可以使用input-number
和pattern
使用纯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 }