<script>
// 仅能输入数字
function isNumber(keyCode) {
// 数字
if (keyCode >= 48 && keyCode <= 57 ) return true;
// 小数字键盘
if (keyCode >= 96 && keyCode <= 105) return true;
// Backspace键
if (keyCode == 8) return true;
return false;
}
var birthday=$('#birthday'); //<input id="birthday" type="text">标签
birthday.on('keydown',function(e){
var k=e.keyCode;
if(!isNumber(k)){ //输入的不为数字则返回false不让输入
return false;
}
if($(this).val().length===10&&k!=8){ //当位数大于10位,则输入完成,不再让继续输入。只能输入退格键
return false;
}
//增加这个判断是避免长按,导致keyup里不能进行判断的BUG
if(k!=8&&($(this).val().length===4||$(this).val().length===7)){
$(this).val($(this).val()+'-');
}
});
birthday.on('keyup',function(e){
var k=e.keyCode;
//当按下的不为删除键,并且当位数在4和7位时,添加-符号
if(k!=8&&($(this).val().length===4||$(this).val().length===7)){
$(this).val($(this).val()+'-');
}
});
// 点击提交的时候判断
$('#submit').on('click',function(){
// 电话号码是否正确
var phone=$('#phone').val();
if(phone.length!==11){
alert("请输入正确的电话号码");
return false;
}
// 生日格式是否正确
var birth=birthday.val();
var p=/\d{4}[-]\d{2}[-]\d{2}/; //生日格式匹配1990-09-09
if(p.test(birth)){ //正确匹配则通过
}else{
alert("请输入正确格式的生日");
return false;
}
});
</script>