php邮箱正则表达式
❶ 在php里面if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email))表示是什么意思
这是正则表达式,匹配的是邮箱的格式,用来判定你输入的邮箱是否合法
❷ php正则表达式,去掉邮箱中间的数并返回新的邮箱地址应该怎么写
最简单的方法:
function change_email($email) {
$email= substr($email, 0, 11);
$email= $email."@txt.ice.com";
return $email;
}
❸ php验证邮箱格式
PHP正则表达式验证邮箱示例如下:
<?php
$email='[email protected]';
$pattern="/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";
if(preg_match($pattern,$email)){
echo '邮箱验证通过!';
} else{
echo '邮箱格式错误!';
}
?>
❹ php 邮箱正则表达式 ^\w+(.w+)*@\w+(.w+)+$ 大神帮忙解释一下,尤其是括号内的
这个应该写错了
里面2个点号(.)后面都应该有一个反斜杠(\)
^\w+(.\w+)*@\w+(.\w+)+$
\w+代表着1到多个文字字符(比如英文,中文)
❺ PHP正则表达式如何检测现有的正确邮箱域名后缀
这个是IT群里的朋友!我不去群里了,在这里帮你把问题解决了吧!
其实严格说来,正则表达式只是一个模型匹配,所以直接使用模型匹配时我们有一个高通原理,也就是说匹配出来的内容是要大于你所需要的内容。就比此题来说,后边可以匹配任何一个合规则的内容,而不可能精确地直接是你想要的内容——这就是高通,如果非要匹配到你想要的内容,使用正则运算有时是非常不合适的!所以这里不建议你使用这方式,或者是部分使用这种方式的形式。
高通就是通过你不全是你想要的,但你想要的一定全在里边。
那么,为什么不考虑使用ajax的方式呢?后台自己设计一会数据库,@前半段使用正则表这式,扣后半段直接使用数据存储的内容,这样可以精确到任何一个你想要的。
因为这里你想要的与不想要的其实也很模糊,你也不知道ckk这个域名在以后是不会被启用!那么你可以使用数据库方式,由管理员自由添加!不用去修改那将来的表达式的!
但事实上很少人用这种方式——他们都在使用注册时邮箱认证的方式,也就是说,发到你邮箱里一封信,辅助你完成注册,这种情况虽然是高通,其他实他只是方便用户能输入正确,而不是要的确信数据,任何设计都要记着这句话——任何客户端的信息都是不可信的!就算用JS完成了正则,那么如果对方有意屏掉您的JS这十分容易的!所以你的正则根本不是用来验证,而是方便用户。
正是这种原因,高通的理由也是其存在的一个原因!就算使用了我说的数据库,利用ajax来检查,那么别人照样可以让你的ajax不工作,而且,不是服务器通过了,邮箱就一定有人注册的!所以从这方面上来讲,数据库的实现意义也不大!
根据js的特点,客户端的验证没有必要太这于麻烦,就算是服务端的验证,建议你的也只采用这种方式即可。没有使用数据库的必要的——这个代价与达到的效果是不成比例的!
说完了,其实等于我也不解决!
❻ php正则表达式邮箱
你这个正则是能匹配的,匹配到这样这部分 '[email protected]'
前面部分的1412424545645454不匹配,所以还是合法的。
你想要匹配一整段正确可以改成这样
$a='/^([\w\.\_]{2,10})@(\w{1,}).([a-z]{2,4})$/';
❼ 求正则表达式验证邮箱格式
虽然没有统一的邮箱账号格式,但是所有邮箱都符合“名称@域名”的规律。对于名称和域名的字符限制,我们可以根据项目的情况定义一个,比如只允许有英文、数字、下划线等组成。下面举例实现一些验证邮箱格式的正则表达式。
实例1:只允许英文字母、数字、下划线、英文句号、以及中划线组成
分析邮件名称部分:
26个大小写英文字母表示为a-zA-Z
数字表示为0-9
下划线表示为_
中划线表示为-
由于名称是由若干个字母、数字、下划线和中划线组成,所以需要用到+表示多次出现,根据以上条件得出邮件名称表达式:[a-zA-Z0-9_-]+
分析域名部分:一般域名的规律为“[N级域名][三级域名.]二级域名.顶级域名”,比如“qq.com”、“www.qq.com”、“mp.weixin.qq.com”、“12-34.com.cn”,分析可得域名类似“**.**.**.**”组成。
“**”部分可以表示为[a-zA-Z0-9_-]+
“.**”部分可以表示为.[a-zA-Z0-9_-]+
多个“.**”可以表示为(.[a-zA-Z0-9_-]+)+
综上所述,域名部分可以表示为[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+
最终表达式: 由于邮箱的基本格式为“名称@域名”,需要使用“^”匹配邮箱的开始部分,用“$”匹配邮箱结束部分以保证邮箱前后不能有其他字符,所以最终邮箱的正则表达式为:
^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$
实例2:名称允许汉字、字母、数字,域名只允许英文域名
举例:张三[email protected]
分析邮件名称部分:
汉字在正则表示为[u4e00-u9fa5]
字母和数字表示为A-Za-z0-9
通过分析得出邮件名称部分表达式为[A-Za-z0-9u4e00-u9fa5]+
分析邮件域名部分:邮件部分可以参考实例1中的分析域名部分。
得出域名部分的表达式为[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+。
最终表达式: 我们用@符号将邮箱的名称和域名拼接起来,因此完整的邮箱表达式为 :
^[A-Za-z0-9u4e00-u9fa5]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$
❽ php 如何用正则表达式匹配一个邮箱格式 邮箱要求只能出现大小写字母 一个@ 还可以出现连字符-和
$pattern="/^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/i";
以上为php代码
正常情况下,邮箱不应该支持单引号的
❾ PHP 帮忙写个正则表达式 判断QQ邮箱格式
$qqmail='[email protected]';
if(preg_match('|^[1-9]d{4,10}@qq.com$|i',$qqmail)){
echo$qqmail,'是qq邮箱';
}else{
echo$qqmail,'不是qq邮箱';
}
❿ 对php中正则表达式验证邮箱代码的疑惑,求高人指点
^[_\.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位