站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题求修改一正则表达式

求修改一正则表达式

摘要: 求修改一正则表达式


如下:

/^/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+)*$/
可以实现的.


是用JAVASCRIPT写的.

function IsMaill(s){
var re=/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/;
return re.test(s);
}


()是特殊字符在正则里要用 /( 和 /) 表示,其它的处理就一样了


^//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
都可以通过.
大家的热心在这谢谢了.参与的都有分.但不加分了.


呵呵,我给的代码是在JAVA中用的,你要在JS中用的话需要把JAVA中的转义字符/拿掉才行


研究了一下
ChengGang.Peng)DMS(@cn.Flex.com
ChengGang.Peng(DMS))@cn.Flex.com
)ChengGang.Peng(DMS)@cn.Flex.com
应该也能通过,我现在没做web,没法帮你试


↑返回目录
前一篇: 程序发布后自动开始运行某一函数(急)
后一篇: 不太好解决的问题