我试图拥有一个具有以下要求的JS
我有一个数字类型的文本框,无论何时我在文本框中输入仅允许数字[0-9],它应该不允许输入的数字长度超过8位数。
例如:
12345678 - Allow
1234 - Dont Allow
1234%^ - Dont Allow
我的Html:
<input type="number" id="txt_number" maxlength="8" onkeypress="return isNumber(event)">
我的JS
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57 ||charCode>=190)) {
return false;
}
return true;
}
请帮帮我。
欣赏。 感谢
答案 0 :(得分:0)
使用RegEx匹配:
function checkMonum(){
var input=document.getElementById('txt_number').value;
var state=false;
var re=/^[\d\.]{8}$/;
var output = re.test(input);
if(output==true){
state=true;
}
return state;
}
我用测试改变方法匹配,你可以检查FF。我在Chrome手机上。正好是8位数或有句号
答案 1 :(得分:0)
请试试这个
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
答案 2 :(得分:0)
$(function () {
$(".numericOnly").bind('keypress', function (e) {
if (e.keyCode == '9' || e.keyCode == '16') {
return;
}
var code;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
if (e.which == 46)
return false;
if (code == 8 || code == 46)
return true;
if (code < 48 || code > 57)
return false;
}
);
$(".numericOnly").bind("paste", function (e) {
$("#lblSearchError").text("Phone no must be numeric digit only !!!");
$('#lblSearchError').show('slow').delay(3000).queue(function (n) {
$(this).hide('slow'); n();
});
e.preventDefault();
});
$(".numericOnly").bind('mouseenter', function (e) {
var val = $(this).val();
if (val != '0') {
val = val.replace(/[^0-9]+/g, "")
$(this).val(val);
}
});
});
使用此功能,您可以限制用户输入除数值以外的值,并且用户无法通过任何非数字数据。这对我有用 您可以按类名或ID
使用它