求修改一正则表达式
如下:
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
将单括号()不包括在过滤的字串里面.即单括号()从上面的字串里删除.不过滤.
本人对正则不太熟悉.求修改.
你最好把你们公司邮箱格式说具体了,允许有几个括号,括号的位置,允许有什么字符,不允许有什么字符
如果是这种格式:abc(123)@abc.com或abc@abc.com
^\\w+([\\(]\\w+[\\)])?@\\w+[\\.]\\w+$
比如说:
ChengGang.Peng(DMS)@cn.Flex.com是允许的.
ChengGang.Peng@cn.Flex.com也是允许的.
只是多加一个单括号.其它的都用
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
可以实现的.
^\\w+([\\(]\\w+[\\)])?@\\w+[\\.]\\w+[\\.]\\w+$
这样就可以了
当然这样比较通用,还可以在通用一点就是不限制它后面跟了几个.xxx
^\\w+([\\(]\\w+[\\)])?@\\w+([\\.]\\w+)+$
又或者一些位置限制成固定的字符,比如com、cn什么的
^\\w+([\\(]\\w+[\\)])?@cn[\\.]\\w+[\\.]com$
楼上的兄弟,你的我都试过了.
function IsMaill2(s){
var re=/^\\w+([\\(]\\w+[\\)])?@\\w+[\\.]\\w+[\\.]\\w+$/;
return re.test(s);
}
function IsMaill2(s){
var re=^\\w+([\\(]\\w+[\\)])?@\\w+[\\.]\\w+[\\.]\\w+$;
return re.test(s);
}
都达不到要求哦.连很常的naughtname@163.com都通不过.
function IsMaill(s){
var re=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
return re.test(s);
}
上现的这个函数可以将naughtname@cn.flex.com等正常的邮件通过.
但加了(DMS)在naughtname(DMS)@里时就通不过.
我只要求在上面的函数中加上这个功能,即有naughtname(DMS)@是合法的.就OK了.求哪位正则高手帮忙.
急.分数只填了不起20.但会加的.
在其它论坛已解决.给各位需要的兄弟看看.
function IsMaill(s){
var re=/^[\w\.\_\-\)\(]+\@[\w\_\-]+\.[\w]+[\w\.]*[\w]+$/;
return re.test(s);
}
ChengGang.Peng(DMS)@cn.Flex.com
ChengGang.Peng@cn.Flex.com
都可以通过.
大家的热心在这谢谢了.参与的都有分.但不加分了.
研究了一下
ChengGang.Peng)DMS(@cn.Flex.com
ChengGang.Peng(DMS))@cn.Flex.com
)ChengGang.Peng(DMS)@cn.Flex.com
应该也能通过,我现在没做web,没法帮你试