[问题] 请问W3School表单验证的语法

楼主: alfven (冯小丸)   2016-03-29 01:00:50
小弟我靠着W3S自学javascript
遇到问题 但周遭却苦无同好可以讨论
希望前辈们能给予指点或提示
有段程式我不太明白它的意思,程式取自以下网址
http://www.w3school.com.cn/js/js_form_validation.asp
红色部分是我看不懂的地方,先谢过各位前辈 <(_ _)>
<html>
<head>
<script type="text/javascript">
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2)
{alert(alerttxt);return false}
else {return true}
}
}
function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
{email.focus();return false}
}
}
</script>
</head>
<body>
<form action="submitpage.htm"onsubmit="return validate_form(this);"
method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body>
</html>
作者: weiclin (CC)   2016-03-29 03:35:00
apos是"@"的位置, 如果email不含@,或是@在第一个字那apos会小于1, dotpos也是类似,只是找到最后一个"."位置如果"@"跟最后一个"."的距离小于2表示有问题简单说就是在检查 email 的格式啦如果格式错误,就使用 email.focus()让光标停在email字段
作者: mmis1000 (秋月恋枫)   2016-03-30 00:52:00
不过这种事,javascript里有更简单的regex,一般人不会这样做。这段code,拿regex就是 /@.+\./.match(email) 而已

Links booklink

Contact Us: admin [ a t ] ucptt.com