JS正则表达式验证手机号和邮箱
一、验证手机号
function isPoneAvailable(poneInput) { var myreg=/^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test(poneInput)) { return false; } else { return true; } }
这里的重点是这个正则表达式:
var myreg=/^[1][3,4,5,7,8][0-9]{9}$/;
这个表达式的意思是:
1--以1为开头;
2--第二位可为3,4,5,7,8,中的任意一位;
3--最后以0-9的9个整数结尾。
本来只容13,15,17,18,开头的手机号,但是测试mm说有14开头的号码,所以添加了14;当然,如果以后要是发展成有16,或者19,之类的开头号码的话,在
[3,4,5,7,8]
中添加即可。
// 判断是否为手机号 function isPoneAvailable (pone) { var myreg = /^[1][3,4,5,7,8][0-9]{9}$/; if (!myreg.test(pone)) { return false; } else { return true; } } // 判断是否为电话号码 function isTelAvailable:(tel) { var myreg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/; if (!myreg.test(tel)) { return false; } else { return true; } }
二、验证邮箱
相关代码如下:
function isEmailAvailable(emailInput) { var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; if (!myreg.test(emailInput)) { return false; } else { return true; } } //由于方法相同,一下只写出相关的正则表达式 //对于手机号码的验证(提供了两种方法) var mobile=/^((13[0-9]{1})|159|153)+\d{8}$/; var mobile1=/^(13+\d{9})|(159+\d{8})|(153+\d{8})$/; //对于区号的验证 var phoneAreaNum = /^\d{3,4}$/; //对于电话号码的验证 var phone =/^\d{7,8}$/;
解释相关的意义
1. /^$/ 这个是个通用的格式。
^ 匹配输入字符串的开始位置;$匹配输入字符串的结束位置
2. 里面输入需要实现的功能。
* 匹配前面的子表达式零次或多次;
+ 匹配前面的子表达式一次或多次;
?匹配前面的子表达式零次或一次;
\d 匹配一个数字字符,等价于[0-9]