对php中正则表达式验证邮箱代码的疑惑,求高人指点?

2024-12-16 02:52:12
推荐回答(4个)
回答1:

^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$
这个正则表达式的写法是正确的,但是邮箱地址最后小数点后面的字母只能是2或者3位,比如com或者cn,你的例子aaaaaa太多了,呵呵

[a-z]{2,3}$ 这个表示结尾只能是2或者3位字母,不是至少2位

z后面那个减号,那个表示中横杠,比如用户名字是aaa-aaa

如果用你举得例子

可以写成

^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{1,20}$

这样表示 结尾的字母可以是1到20位

回答2:

z后面那个减号就表示一个字符‘-’,
[a-z]:a~z之间的字符

接下来是或字母或数字或点号或这些多次重复组合,应该是
‘@’后面第一个必须为字母或数字,不能是‘-’

接下来是末尾字符必须是字母且至少有两位。
但最多有3位而已。

回答3:

我的最实用:

^[a-z0-9_\-]+(\.[_a-z0-9\-]+)*@([_a-z0-9\-]+\.)+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)$

gmail是可以输入 . 符号的 在前面那段加入 \.

回答4:

^([a-zA-Z0-9_-]|[a-zA-Z0-9_-]\.)+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$