我使用这个代码验证电话号码:电话验证工作不正常
<script>
$("#Phone").keydown(function (e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A
(e.keyCode == 65 && e.ctrlKey === true) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
var val = Phone.value
if (/^\d{11}$/.test(val)) {
// value is ok, use it
} else {
alert("Invalid number; must be eleven digits")
Phone.focus()
return false
}
</script>
我希望用户仅输入11位数字,如果不是这样,它会提醒他们有用户输入11位数字并将该值设置为空。
问题是,当它提醒数字小于11位数字时,它不会将该值设置为空。
什么值应该设置为空?您的代码将值设置为null的位置在哪里? –
我也试了this.value =“”;但它不起作用! – Sean
无论用户输入什么,如果它不是11位数,那么它应该将该值设置为无。 – Sean