php正则邮箱验证

来源:3-5 使用正则表达式进行匹配

无所畏惧小小小

2016-11-11 15:01

<?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);


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

写回答 关注

3回答

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

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

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

    慕粉1466...

    试了一下,163不允许注册-字符的,不知道@imooc.com要在哪里注册

    2018-05-19 12:55:16

    共 3 条回复 >

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

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


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

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

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181944 学习 · 2668 问题

查看课程

相似问题