验证Email的正则表达式,请指教!

dunkee 2002-11-27 08:31:04
<SCRIPT LANGUAGE="JavaScript">
function window.onload(){ document.all.mail.focus(); }

function checkemail(str){
// +表示,至少一次 *表是任意次 .表示任意字符
var l=/^([A-Za-z])+([A-Za-z0-9]|[-]|[_]|[.])*([A-Za-z0-9])+@([-A-Za-z0-9])+\..+$/ ;
// 开始 (字母开头) ( 允许的字符 ) (结尾字符 ) @ ( 允许的字符 )(.后至少一个任意字符)
return (l.test(str))
}
</SCRIPT>
<form onSubmit="alert(checkemail(document.all.mail.value));">
<input type=text name=mail>
</form>
<pre>
正则表达式:
var filter=/^([a-z]|[A-Za-z0-9]|[-]|[_][.])([A-Za-z0-9])+@([A-Za-z0-9]|[-])+\..+$/ ;
实现以下判断:
一、邮件帐号部分:
1) 以英文字母开头
(非法如: _dunkee)
2) 只能由英文小写字母(a-z), 阿拉伯数字(0-9), 下划线(_), 圆点(.) 连字符(-) 构成
(非法如: dun kee)
3) 结尾只能是字母,数字,既不能以 下划线(_), 圆点(.) 连字符(-) 结尾
(非法如: dunkee-)
二、域名(domain)部分
4) 只能由字母数字连字符 构成
(非法如: dun=kee)
三、之后部分
5) 域名后接圆点(.)
6) 之后至少有一个任意字符串
(非法如: dunkee@263.)

弄了半天,头都大了,请诸位看看,不知道有没有什么不妥,谢谢!!!!
...全文
255 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
dunkee 2002-11-28
  • 打赏
  • 举报
回复
谢谢。
我怎么就没注意到\w呢?

谢谢。。。。
liujiboy 2002-11-27
  • 打赏
  • 举报
回复
/(^[a-zA-Z]|^[a-zA-Z][\w-_\.]*[a-zA-Z0-9])@(\w+\.)+\w+$/
是一个可以满足你的要求的表达式
freefalcon 2002-11-27
  • 打赏
  • 举报
回复
<script>
function isEmail(obj)
{
if(arguments.length==1)msg="您的Email格式不正确!"
else msg=arguments[1];
var re=/^\w+@(\w+\.)+\w+$/;
if (obj.value!=""&&!re.test(obj.value))
{
alert(msg);
obj.select();
return false;
}
else return true;
}
function checkform1(){
if(isEmail(form1.email))return true;
else return false;
}
</script>
<form name=form1 onsubmit="return checkform1()">
<input name=email>
<input type=submit >
</form>

isEmail()提供了一个默认参数,你还可以根据自己的需要设置要显示的信息,如
isEmail(form1.email,"请检查你Email格式!")

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧