php正则表达式邮箱地址问题

有个php正则表达式邮箱问题

 代码如下 复制代码

$a='/([w._]{2,10})@(w{1,}).([a-z]{2,4})/';
$b='1412424545645454545454545k@qq.com';

if(preg_match($a,$b)){
 echo "电子邮件合法";
}else{
 echo "电子邮件不合法啊";
}

为何上面的输出为合法???{2,10}这里不是只能放2到10位数字吗 这里已经超出了10位了

 这个正则是能匹配的,匹配到这样这部分 '545454545k@qq.com'
前面部分的1412424545645454不匹配,所以还是合法的。
你想要匹配一整段正确可以改成这样

 代码如下 复制代码
$a='/^([w._]{2,10})@(w{1,}).([a-z]{2,4})$/';

 要注意你的正则

 代码如下 复制代码
  /([w._]{2,10})@(w{1,}).([a-z]{2,4})/

他没有断言,意味着只要字符串中有符合的部分就匹配
因此{2,10}是只能2到10位匹配,但不针对整个字符串只要有一部分符合就匹配了。

你要判断一整段字符串是否都匹配就要用断言。如^ $

 代码如下 复制代码
/^([w._]{2,10})@(w{1,}).([a-z]{2,4})$/

注意头和尾加上了^ $

 

 代码如下 复制代码
$a='/^([w._]{2,10})@(w{1,}).([a-z]{2,4})$/';
$b='1412424545645454545454545k@qq.com';
if(preg_match($a,$b)){
 echo "电子邮件合法";
}else{
 echo "电子邮件不合法啊";
}

好了下面我来进行更完善写法

PHP 邮箱验证正则表达式 新手实例:

 代码如下 复制代码

<?php
function isEmail($email){
if(preg_match(“/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i”,$email )){
return ‘是邮箱’;
}      else{
return ‘不是邮箱’;
}
}
?>

Javascript(js) 邮箱验证正则表达式:

myreg = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,4}$/;
这个可以验证 形如:i@julying.com ,i@i.com 这种邮箱
Javascript(js) 邮箱验证正则表达式 新手实例:
<script type=”text/javascript”>
function isEmail(val){
var myreg = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,4}$/;
 
if(!myreg.test(val))
return ‘不是邮箱’;
return ‘是邮箱’;
};
alert( isEmail(‘i@julying.com’) );
</script>

时间: 2024-11-03 04:50:37

php正则表达式邮箱地址问题的相关文章

邮箱地址正则表达式验证代码合集脚本之家特别版_正则表达式

邮箱地址验证正则表达式 dedecms中的邮箱地址验证 复制代码 代码如下: <?php $email="test@jb51.com"; //邮箱格式检查 function CheckEmail($email) { return eregi("^[0-9a-z][a-z0-9\._-]{1,}@[a-z0-9-]{1,}[a-z0-9]\.[a-z\.]{1,}[a-z]$", $email); } echo CheckEmail($email); phpcm

javascript 电话,QQ,手机,身份证号,邮箱地址,邮政 正则表达式验证代码

javascript教程 电话,QQ,手机,身份证号,邮箱地址,邮政 正则表达式验证代码 <html xmlns="http://www.111cn.net/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>javascript 电话,QQ,手机,身份证号

邮箱地址验证正则表达式

邮箱地址验证正则表达式 ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$]", $email); if (eregi("^[a-zA-Z0-9_]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$]", $email)) { return FALSE; } //方法二 function is_email($address) {       $rc1 = (ereg("^[-!#$%&'

php邮箱地址正则表达式验证_php技巧

我们最经常遇到的验证,就是电子邮件地址验证.网站上常见.各种网页脚本也都常用"正则表达式"(regular expression)对我们输入的电子邮件地址进行验证,判断是否合法.有的还能分解出用户名和域名.现在用PHP语言实现一下电子邮件地址验证程序,用的是PHP正则表达式库. 源代码如下: <?php header ( "Content-Type: text/html; charset=UTF-8" ); $reply = ""; if

邮箱地址正则表达式验证代码合集脚本之家特别版

邮箱地址验证正则表达式 dedecms中的邮箱地址验证 复制代码 代码如下: <?php $email="test@jb51.com"; //邮箱格式检查 function CheckEmail($email) { return eregi("^[0-9a-z][a-z0-9\._-]{1,}@[a-z0-9-]{1,}[a-z0-9]\.[a-z\.]{1,}[a-z]$", $email); } echo CheckEmail($email); phpcm

asp email邮箱地址验证正则表达式

上篇文章我们用字符串查找的方法实现了asp email邮箱地址的验证,有可能比较喜欢正则表达式的朋友,这里也给出相应的代码.方法一 复制代码 代码如下: Public Function ChkMail(ByVal Email) Dim Rep,Pmail : ChkMail = True : Set Rep = New RegExp Rep.Pattern = "([.a-zA-Z0-9_-]){2,10}@([a-zA-Z0-9_-]){2,10}(.([a-zA-Z0-9]){2,}){1,

asp 邮箱地址验证正则表达式

方法一 Public Function ChkMail(ByVal Email) Dim Rep,Pmail : ChkMail = True : Set Rep = New RegExp Rep.Pattern = "([.a-zA-Z0-9_-]){2,10}@([a-zA-Z0-9_-]){2,10}(.([a-zA-Z0-9]){2,}){1,4}$" Pmail = Rep.Test(Email) : Set Rep = Nothing If Not Pmail Then C

js手机,电话,邮箱地址正则表达式

我们收集了这种正则验证表达式, 邮箱地址  /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ 手机 /^0*(13|15)d{9}$/ ^0* 匹配掉开头任意数量的0. 由于手机号码是13任意数字9位,和15任意数字9位,所以可以用(13|15)d{9}匹配 电话 分机号码为3-4位的数字,非必填,但若填写则以"-"与电话号码相连接 (-d{3,4})? fuchangxi的正则: Select All  /^([a-zA-Z0

jquery test exec邮箱地址正则表达式的处理

1.test方法  代码如下 复制代码 reg=/^w{3,}@w+(.w+)+$/; if(!reg.test(obj)){     $("#test").html("<b>请输入正确的邮箱地址</b>"); } 2.exec方法  代码如下 复制代码 $.formatDate.patternParts =    /^(yy(yy)?|M(M(M(M)?)?)?|d(d)?|EEE(E)?|a|H(H)?|h(h)?|m(m)?|s(s)?