如何检查文本框是否仅包含数字?
谷歌搜索时我遇到了这个。但是我想知道isNumeric
是否可以用于此目的,或者是否有更简单的方法来检查文本框是否具有数值。
var query = $('#myText').val();
if (parseFloat(query) == NaN) {
alert("query is a string");
} else {
alert("query is numeric");
}
答案 0 :(得分:22)
您可以检查用户是否仅在输入和正则表达式上使用change
事件输入了数字。
$(document).ready(function() {
$('#myText').on('change', function() {
if (/^\d+$/.test($(this).val())) {
// Contain numbers only
} else {
// Contain other characters also
}
})
});
REGEX:
/
:正则表达式的分隔符^
:以\d
:任意数字+
:前面一个或多个字符$
:结束正则表达式可视化:
如果您只想允许数字,可以使用input-number
和pattern
<input type="number" pattern="\d+" />
答案 1 :(得分:3)
使用纯JS正则表达式
var query = document.getElementById('myText').value;
var isNumeric=query.match(/^\d+$/);
if(isNumeric){/*...*/}else{/*...*/}
或使用html5控件
<input type="number" name="quantity" min="1" max="5">
答案 2 :(得分:2)
答案 3 :(得分:1)
答案 4 :(得分:0)
您可以将文本框的值与数字回归进行匹配,以检查它是否仅包含数字,如下面的代码...
if($('#myText').val().match(/^\d+$/)){
// Your code here
}