题目:运用正则表达式和Javascript实现当用户在web页面输入手机号后,判断手机号是否是11位数字,而且以1开头,当出现错误时通过警告框提示用户。
刚开始学js,上面是老师留的题目,我写的代码中的警告感觉有点问题,就是在浏览器刚打开,什么都不输入,点击提交之后为什么不弹警告,只有在输入一次数字提交之后再删除,之后再提交才会弹出手机号为空的警告。
求大家解答一下,谢谢!!
下面是我写的代码:
<!DOCTYPE html>
代码怎么不全显示,我截图吧!
可以试试
<body>
<h1>请输入你的手机号</h1>
<form action="" method="get">
手机号:<input type="text" id="int" />
<input type="submit" value="提交" onclick="abc()" />
</form>
<script type="text/javascript">
function abc(){
var reg=/^\d{4,4}?([-]?((\d)|[ ]){0,7})$/;
var str=document.getElementById("int").value;
if(str==""){
alert("请输入手机号");
}else if(!reg.test(str)){
alert("你输入的手机号有误,请重新输入");
}else{
alert("您的手机号正确");
}
}
</script>
</body>