[問題] 請問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