问答详情
源自:3-5 使用正则表达式进行匹配

php正则邮箱验证

<?php
$subject = "my email is spark@imooc.com";
//在这里补充代码,实现正则匹配,并输出邮箱地址
$reg='/[\w\-]+@\w+\.\w+/';
$reg='/[\w]+@\w+\.\w+/';
$arr=array();
preg_match($reg,$subject,$arr);
print_r($arr);


其中邮箱验证中为什么会出现(\-),是什么意思?我把这个去掉发现还是可以验证通过?

提问者:无所畏惧小小小 2016-11-11 15:01

个回答

  • 啊B
    2016-11-22 17:05:39
    已采纳

    \-就是匹配  ‘-’这个字符,但是需要转义,因为有些邮箱是存在这个字符的,比如163的 为    abc-de@163.com

    只是举个例子,大致就这个意思

  • 无所畏惧小小小
    2016-11-11 18:49:57

    -在这里是表示连接符吗?在这里有什么作用呢?


  • 奋斗ing_
    2016-11-11 15:41:47

    \w匹配数字字母下划线汉字,'-'可以表示范围,也可以单纯表示连接符,\w在这里已经包含了范围,所以应该覆盖了