作者alfven (冯英丸)
看板Ajax
标题[问题] 请问W3School表单验证的语法
时间Tue Mar 29 01:00:50 2016
小弟我靠着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>
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 117.19.225.158
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1459184453.A.230.html
1F:→ weiclin: apos是"@"的位置, 如果email不含@,或是@在第一个字 03/29 03:35
2F:→ weiclin: 那apos会小於1, dotpos也是类似,只是找到最後一个"."位置 03/29 03:36
3F:→ weiclin: 如果"@"跟最後一个"."的距离小於2表示有问题 03/29 03:37
4F:→ weiclin: 简单说就是在检查 email 的格式啦 03/29 03:39
5F:→ weiclin: 如果格式错误,就使用 email.focus()让游标停在email栏位 03/29 03:39
谢谢你, W大
6F:→ mmis1000: 不过这种事,javascript里有更简单的regex,一般人不会 03/30 00:52
7F:→ mmis1000: 这样做。 03/30 00:52
8F:→ mmis1000: 这段code,拿regex就是 /@.+\./.match(email) 而已 03/30 00:53
也谢谢m大的建议
※ 编辑: alfven (49.217.50.248), 03/31/2016 01:32:22