Ryongyon!

这世界上假绅士太多,缺少训练有素的流氓

· 实践教程 · · 16149次浏览

一篇有关邮箱正则表达式的水文

前言

最近在做Surge主题,评论部分 只要输入邮箱后就会判断输入的是否是正确的邮箱格式,如果正确则自动获取头像,如果不正确则不获取。判断这部分想都不用想,当然是用正则啦,所以,我到网上搜了一下邮箱的正则,然后呢 基本大家都Po出了这一条正则:

/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/

这条正则也没错,只能说不够完美,基本来讲也是正确的,因为当我输入 im.gemai@gmail.com 时,却不能获取头像了(就是说那条正则说我的邮箱格式不正确),为什么呢?因为im后面的那个“.”,这就是问题所在。虽然够用,但是一有问题我就堵得慌,但是我又不会写正则,于是我就开始寻找解决方法

解决方法

开始在网上寻找很久也没找到一条完美的正则,后来 我突然想到 Typecho本身在评论的时候就会验证 “邮箱” “网址”输入是否正确,应该也是用正则去判断的,接着我就开始翻源码,终于在/var/Typecho/Validate.php找到了。Typecho官方验证邮箱格式是否正确的正则是:

/^[_a-z0-9-\.]+@([-a-z0-9]+\.)+[a-z]{2,}$/i

嗯,替换了一下正则,测试没问题,完美解决(或许吧)

评论 (6条)
  1. mchran

    学习学习,博主加油

    回复
  2. 华子春新语丝

    华子春新语丝前来学习,博主加油

    回复
  3. 张晓

    我是来看评论的

    回复
  4. 学习了

    回复
  5. 来看评论的

    回复
  6. 大魔王

    好用

    回复