我做了一个只能输入字母,@和(。)句号的函数。 如何设置我只能输入一次“@”符号,之后会自动添加“email.com”。例如我输入我的电子邮件,如“stackoverflow”,在我点击“@”后,它会自动添加“email.com”,而“@”只能输入一次..
这是我的代码
function fnEmailAlpha(e)
{
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //Firefox
if ((key>96 && key<123) || (key>64 && key<90) || key==46 || key == 64 || key == 95)
{
return true;
}
else
{
return false;
}
}
答案 0 :(得分:1)
如果您要验证电子邮件ID,我建议您使用regex。
你能做的是:
var reg=/^[a-zA-Z]+[\@]{1}[a-zA-Z]+[\.]{1}[a-zA-Z]+$/ig;
if(document.getElementById('email').value.match(reg)!=null)
{
alert('Match!');
}
答案 1 :(得分:1)
试试这个:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript">
function validate(textbox) {
//Handle Keycodes to return without action in case of arrow keys, backspace etc.
var email = 'email.com';
var val = textbox.value;
var ind = textbox.value.indexOf('@');
if (ind > -1)
textbox.value = val.substring(0, ind + 1) + email;
}
</script>
</head>
<body>
<form id="frm" name="frm">
<input type="text" id="txtInput" name="txtInput" onkeyup ="validate(this)" />
</form>
</body>
</html>
答案 2 :(得分:0)
if you need JavaScript solution:
function validateForm()
{
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("Not a valid e-mail address");
return false;
}
}
或者如果您使用的是HTML5
E-mail: <input type="email" name="email" autocomplete="off">