帮我用JS写一个函数,判断E-mail是否全合法,用正则表达式。
答案:7 悬赏:0 手机版
解决时间 2021-07-20 00:29
- 提问者网友:我没有何以琛的痴心不悔
- 2021-07-19 17:45
使用JS脚本写一个判断E-mail是否合法,要判断没有任何中文字符,和邮箱的一般格式是否正确,代码越精简越好。 谢谢。。。
最佳答案
- 五星知识达人网友:洎扰庸人
- 2021-07-19 18:31
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>EMail验证</title>
<script language="javascript" type="text/javascript">
function checkEMail()
{
var email = document.getElementById("txtEMail").value;
var re = /^[a-zA-Z0-9]([a-zA-Z0-9]*[-_.]?[a-zA-Z0-9]+)+@([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}$/;
if(email==null||email=="")
{
alert("EMail不能为空!");
return false;
}
if(!re.test(email))
{
alert("EMail格式不正确!");
return false;
}
return true;
}
</script>
</head>
<body>
<form id="form1">
请输入EMail:<input name="eMail" type="text" id="txtEMail" />
<br/>
<input name="" type="button" value="验证" onclick="return checkEMail()" />
</form>
</body>
</html>
<html xmlns=" http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>EMail验证</title>
<script language="javascript" type="text/javascript">
function checkEMail()
{
var email = document.getElementById("txtEMail").value;
var re = /^[a-zA-Z0-9]([a-zA-Z0-9]*[-_.]?[a-zA-Z0-9]+)+@([a-zA-Z0-9]+\.)+[a-zA-Z]{2,}$/;
if(email==null||email=="")
{
alert("EMail不能为空!");
return false;
}
if(!re.test(email))
{
alert("EMail格式不正确!");
return false;
}
return true;
}
</script>
</head>
<body>
<form id="form1">
请输入EMail:<input name="eMail" type="text" id="txtEMail" />
<br/>
<input name="" type="button" value="验证" onclick="return checkEMail()" />
</form>
</body>
</html>
全部回答
- 1楼网友:雾月
- 2021-07-20 00:17
正好最近在做这个实验
<script language=Javascript> function verifyAddress(obj) { var email = obj.email.value; var pattern =/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/; flag = pattern.test(email); return flag; } </script>
//obj是form变量
- 2楼网友:詩光轨車
- 2021-07-20 00:10
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
- 3楼网友:上分大魔王
- 2021-07-19 23:23
你先用这个试试,是我自己写的
<script>
function test( n ) {
if ( n.match(/[\w\d]+@[\w\d]+\.[\w\d]+/) )
alert( '合法' );
else
alert( '不合法' );
}
</script>
<form>
<input type="text" name="email" />
<input type="submit" value="提交" onclick="return test(this.form.email.value)" />
</form>
我先吃饭去,如果有什么问题可以追问
- 4楼网友:独行浪子会拥风
- 2021-07-19 22:00
function checkemail()
{
var reg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
if(!reg.test(document.getElementById("txtEmail").value))
{
document.getElementById("lblEmail").style.color = "red";
document.getElementById("lblEmail").innerText="电子邮箱格式不符合规范";
return false;
}
else
{
document.getElementById("lblEmail").style.color="green";
document.getElementById("lblEmail").innerText="√";
}
return true;
}
- 5楼网友:夜余生
- 2021-07-19 21:08
以下代码加入HTML的<body>区:
<script language="javascript">
<!-- Begin
function chk(email, formname)
{
invalid = "";
if (!email)
invalid = "请输入您的Email地址。";
else {
if ( (email.indexOf("@") == -1) || (email.indexOf(".") == -1) )
invalid += "\n\nEmail地址不合法。应当包含'@'和'.';例如('.com')。请检查后再递交。";
if (email.indexOf("your email here") > -1)
invalid += "\n\nEmail地址不合法,请检测您的Email地址,在域名内应当包含'@'和'.';例如('.com')。";
if (email.indexOf("\\") > -1)
invalid += "\n\nEmail地址不合法,含有非法字符(\\)。";
if (email.indexOf("/") > -1)
invalid += "\n\nEmail地址不合法,含有非法字符(/)。";
if (email.indexOf("'") > -1)
invalid += "\n\nEmail地址不合法,含有非法字符(')。";
if (email.indexOf("!") > -1)
invalid += "\n\nEmail地址不合法,含有非法字符(!)。";
if ( (email.indexOf(",") > -1) || (email.indexOf(";") > -1) )
invalid += "\n\n只输入一个Email地址,不要含有分号和逗号。";
if (email.indexOf("?subject") > -1)
invalid += "\n\n不要加入'?subject=...'。";
}
if (invalid == "")
{
return true;
}
else
{
alert("输入的Email可能包含错误:" + invalid);
return false;
}
}
// End -->
</script>
<form method="post" name="myform" action="submit.cgi" onSubmit="return chk(document.myform.email.value)">
<div align="center">
<input type="text" name="email" value="your email here">
<input type="submit" name="Submit" value="Submit">
</div>
</form>
说明:应该引起注意的地方我已经用绿色标记出来了。除了做Email的非空检测外,还应该检测某些非法字符的填写,你可以仿照上面的方法将你所要禁止的字符全部加上。检测斜杠“\”稍微有一点复杂,因为“\”有其特殊的含义-转意符号,它的作用将它后面字符的原来的含义屏蔽起来,所以检测它本身我们使用2个斜杠“\\”。此外,我们经常再表单区事先填写“your mail here”等提示性的话,为了防止访问者直接按递交,将“your mail here”作为合法的邮件地址发送,所以禁止递交这些提示也是必须的。
- 6楼网友:等灯
- 2021-07-19 19:40
很多正则表达示的写法都可以实现,但要达到你的要求,精简,限制中文!这里我给你一个,是我们项目中用到的!
function check(e){
var a=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if(!check.test(e)){
alert("请输入格式正确的 e-mail 地址!");
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯