html:
<form onsubmit="return validate_form(this);" method="post">
email:<input type="text" name="email" >
<input type="submit" value="submit">
</form>
js:
function validate_email(field,alerttxt)//这个函数用来验证email的格式是否满足xxx@xxx.xxx的格式,其中要求@前面必须要至少一个字符,@与.之间至少要有一个字符
{
with (field)//使用with (XXX)语句是指定默认对象,这样在访问这个HTML元素(就是这里的field)的值的时候,就不需要指定对象了,可以直接使用value.indexOf。否则的话,需要field.value.indexOf
{
apos=value.indexOf("@");//找到第一个@的位置。如果找不到的话,apos值为-1,找到的话就是@在字符串里面的以0开始的位置索引
dotpos=value.lastIndexOf(".")//找到最后一个.的位置
if (apos<1||dotpos-apos<2)//如果找不到@或者@是第一个字符(apos<1),或者@之后没有.或者@与.之间没有任何字符(dotpos-apos<2)
{alert(alerttxt);return false}//弹出对话框显示错误消息并返回假表明验证email格式失败
else {return true}//否则返回真
}
}
function validate_form(thisform)//这个函数用来在表单提交时对表单做验证,通常的使用方式是表单里面有个提交按钮在点击时调用这个函数,如下例所示,当这个函数返回假的时候,表单不会提交
{
with (thisform)
{
if (validate_email(email,"请输入正确的邮件地址!")==false);//调用validate_email来验证表单中的email这个字段 ,判断是否失败
{email.focus();return false}//如果失败的话,让email获得焦点,同时返回假使的表单不提交
}
}