写一个正则表达式验证一个字符串是否为有效的email 个人不懂正则表达式,请教高手,RT。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 合法E-mail地址: 1. 必须包含一个并且只有一个符号“@” 2. 第一个字符不得是“@”或者“.” 3. 不允许出现“@.”或者.@ 4. 结尾不得是字符“@”或者“.” 5. 允许“@”前的字符中出现“+” 6. 不允许“+”在最前面,或者“+@” 正则表达式如下: ----------------------------------------------------------------------- ^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$ ----------------------------------------------------------------------- 字符描述: ^ :匹配输入的开始位置。 \:将下一个字符标记为特殊字符或字面值。 * :匹配前一个字符零次或几次。 + :匹配前一个字符一次或多次。 (pattern) 与模式匹配并记住匹配。 x|y:匹配 x 或 y。 [a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。 \w :与任何单词字符匹配,包括下划线。 $ :匹配输入的结尾。 Pattern p = Pattern.compile("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+"); ^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$ reg=/^[\w\.\-]+@([\w\-]+\.)+[a-z]{2,4}$/ig试试看 只能验证格式不能验证是否有效String str="[email protected]";Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);Matcher matcher = pattern.matcher(str);System.out.println(matcher.matches()); \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 常用正则表达式大全:http://blog.csdn.net/byxdaz/archive/2009/08/21/4470684.aspx /^(?:\w+\.?)*\w+@(?:\w+.?)*\w+$/项目中曾经用过这个 common-validate 中有写好的方法 <SCRIPT LANGUAGE=javascript RUNAT=Server>function isEmail(strEmail) {if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)return true;elsealert("oh");}</SCRIPT><input type=text onblur=isEmail(this.value)>给你参考下 正则网上一搜一大把.. 其实自己对照API你也应该可以写出来,只是没别人写的这么精辟而已..! 慢慢来吧 面向对象的核心思想 JCreator方面的问题 请教一下关于String类的赋值问题 getTableCellRendererComponent 中isSelected疑问 特别的转码问题? Java API都是用Java开发的吗? 一个让我迷惑的问题! 求救:编译错误。 用java开发一个可以各种请求(包括手机短消息,邮件等等)的标准接口,各位指指路,来者有分 那位大虾用过ldap开发用户管理?请赐教一二!! 单例有什么好处和坏处?STRUTS的ACTION是单例的吗 关于垃圾回收器的题目
1. 必须包含一个并且只有一个符号“@”
2. 第一个字符不得是“@”或者“.”
3. 不允许出现“@.”或者.@
4. 结尾不得是字符“@”或者“.”
5. 允许“@”前的字符中出现“+”
6. 不允许“+”在最前面,或者“+@” 正则表达式如下:
-----------------------------------------------------------------------
^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$
----------------------------------------------------------------------- 字符描述:
^ :匹配输入的开始位置。
\:将下一个字符标记为特殊字符或字面值。
* :匹配前一个字符零次或几次。
+ :匹配前一个字符一次或多次。
(pattern) 与模式匹配并记住匹配。
x|y:匹配 x 或 y。
[a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。
\w :与任何单词字符匹配,包括下划线。
$ :匹配输入的结尾。
试试看
Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.matches());
项目中曾经用过这个
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert("oh");
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>
给你参考下