以前的正则验证里面,如果是199开头或者166开头的手机号码就没有办法通过验证,会给这些用户带来一定的麻烦
/* 手机号码验证 */ var $phone_num = $("#phone").val(); var reg01 = /^1[3|4|5|6|7|8|9]\d{9}$/; //手机号 if(reg01.test($phone_num)) { console.log("手机号正确"); } else { layer.msg('请填写正确手机号', { icon : 5, time : 1000 }); return; }
demo
<!DOCTYPE HTML> <html> <head> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script> </head> <body> <input type="text" id="phone" maxlength="16"></input> <button type="button" class="btn blue" id="addBtn">保存</button> <script type="text/javascript"> $("#addBtn").on("click", function() { /* 手机号码验证 */ var $phone_num = $("#phone").val(); var reg01 = /^1[3|4|5|6|7|8|9]\d{9}$/; //手机号 if(reg01.test($phone_num)) { console.log("手机号正确"); } else { alert("请正确填写") return; } }) </script> </body> </html>
个人建议:任何有关手机号、电话号、邮箱、网址等的正则校验不要写得太严格,以防用户前端输入稀有账号校验通过不了。