正则表达式检验qq邮箱

初学正则表达式,测试一下,最最最简单的qq邮箱验证。规定qq号码必须是5~12位的数字,后面必须跟".com",形如"[email protected]".
网上定义正则表达式的时候有的用引号,如var reg="content",有的用"/",如var reg=/content/.分别测试一下。
正则表达式检验qq邮箱
会出现错误,不过错误不是显示正则表达式有问题,而是提示test不是一个方法。(不知道原因,求解答,我猜测是由于正则表达式不正确导致test方法没有识别?)如图:
正则表达式检验qq邮箱

换成"/"则没有问题了。 所以正则表达式应该用"/"表示
正则表达式检验qq邮箱
下面是测试正确的邮箱例子
正则表达式检验qq邮箱
上面是QQ号码为5位的情况。
正则表达式检验qq邮箱
上面是QQ号码为12位的情况。
下面是一些不符合规则的错误邮箱例子


正则表达式检验qq邮箱
这是号码小于5位的错误。
正则表达式检验qq邮箱
这是号码不是纯数字的错误。
正则表达式检验qq邮箱
这是结尾不是qq.com的错误。
正则表达式检验qq邮箱

这是号码超过12位的错误。
另外,由于规则写的[qQ][qQ],所以写成[email protected]也是可以的,可以改成([q]{2}|[Q]{2}),这样[email protected]或者[email protected]就出错了。必须要写成qq或者QQ。如图:
正则表达式检验qq邮箱

正则表达式检验qq邮箱
下面解释一下/^\d{5,12}@[qQ][qQ]\.(com|cn)$/,^匹配你要用来查找的字符串的开头,$匹配结尾,\d匹配数字,{5,12}说明数字必须大于等于5小于等于12,([q]{2}|[Q]{2})表示要么q或者Q出现两次即qq或者QQ,由于.也是元字符,所以要使用的话必须转义"\"。
由于初学,正则表达式写得很幼稚,对比如[email protected][email protected]等等都不能判断。有很多改进的地方,比如用(?:com|cn)那么.com和.cn都可以使用,并且"?:"不捕获匹配的文本,提高程序执行速度(不过也有缺点,不能使用反向引用)等等等等。

你可能感兴趣的:(正则表达式检验qq邮箱)