我正在尝试在按下字母表时验证电话号码jquery以显示错误消息。下面的代码输入数字但不验证10位数。如何验证10位数字。
<script type="text/javascript" >
$(function() {
$("#phno").bind("keypress", function (event) {
if (event.charCode != 0) {
var regex = new RegExp("^[0-9]{10}$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
alert("Please enter valid Student Phone No");
event.preventDefault();
return false;
}
}
});
});
答案 0 :(得分:0)
你可以试试这个
var regex = new RegExp("/^[0-9]{1,10}$/");
或试试这个
var str='0123456789';
console.log(str.match(/^\d{10}$/)); // retunr null if don't match
答案 1 :(得分:0)
这是一个适合您的工作代码,它可以检查10个数字,只接受数字而不是其他内容:
$(function() {
$("#phno").bind("keydown", function(event) {
var a = $(this).val();
if (a.match(/^\d{9}$/)) {
console.log("Perfect!");
} else {
console.log("Invalid. Ensure, there are 10 digits.");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='phno' />
答案 2 :(得分:0)
你可以用这个
$(function() {
$("#phno").bind("keydown", function (e) {
if ((e.keyCode >= 48 && e.keyCode <= 57) || (e.keyCode >= 96 && e.keyCode <= 105)) {
// 0-9
var val = $(this).val();
if (!val.match(/^\d{9}$/))
{
console.log("it is a number but nut match 10 digit")
}
else
{
console.log("success");
return false; // to restrict user to not enter more than 10 digit
}
}
else
{
if(e.keyCode == 8)
return true; // backspace
alert("Please enter valid Student Phone No");
event.preventDefault();
return false;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='phno' />
答案 3 :(得分:0)
只需使用此jquery函数,并将html代码中的十位数限制为
<input type="text" name="phone" maxlength="10" id="phone"/>
并使用以下jquery函数
$("#phone").bind("keypress", function (event) {
var phoneno = /^\d{10}$/;
var phone_val=$('#phone').val();
if((phoneno.test(phone_val)))
{
return true;
}
else
{
return false;
}
});
答案 4 :(得分:0)
只需使用此...
var num = '1234567890';
if(!isNaN(num) && num.length ==10){ alert('Validated'); }
else { alert('Not a 10 digit number'); }