如何过滤一个输入框中除手机号或电话之外其他无意义的输入,这个时候就需要正则表达式来帮忙。下面直接上js/jquery实现的正则匹配手机电话号码、QQ、邮箱;同理,可以写出php中的正则匹配手机电话号码、QQ、邮箱。
1、过滤正确手机号和电话号码
只有手机号,座机,400开头号码,800开头号码才合法
function checkPhone(strPhone) { var phoneReg = /^[1][3,4,5,7,8][0-9]{9}$/; var mobileReg = /^([0-9]{3,4}-)?[0-9]{7,8}$/; var four = /^400[0-9]{7}/; var eight = /^800[0-9]{7}/; if(phoneReg.test(strPhone) || mobileReg.test(strPhone) || four.test(strPhone) || eight.test(strPhone)){ return true; }else{ return false; } }
2、过滤正确邮箱
function isEmail(str){ var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/; return reg.test(str); }
3、过滤正确QQ号
function isQQ(str){ var reg = /^[1-9][0-9]{4,11}$/; return reg.test(str); }
同理,php中只需要替换下匹配方法,如preg_match("/^1[34578]{1}\d{9}$/", $phone),就可以实现php中的匹配手机电话号码、QQ、邮箱。