正则表达式检验qq邮箱

初学正则表达式,测试一下,最最最简单的qq邮箱验证。规定qq号码必须是5~12位的数字,后面必须跟".com",形如"12345@qq.com".
网上定义正则表达式的时候有的用引号,如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],所以写成12345@qQ.com也是可以的,可以改成([q]{2}|[Q]{2}),这样12345@qQ.com或者12345@Qq.com就出错了。必须要写成qq或者QQ。如图:
正则表达式检验qq邮箱

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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值