2つの防御線、1つの関数:
クライアントとサーバーが同じ機能を持っていることを確認するにはどうすればよいですか?フォームフィールドの検証は、私たちの目の前で点滅します。誰かがあなたのHTMLを別のスクリプトにコピーしてから、クライアントのフォームドメイン検証を変更します。これは難しいタスクではありません。目の前の解決策は、サーバー側にフォームフィールドの検証を配置することです。しかし、それはユーザーによる小さなエラーのために、一連のエラーメッセージをサーバーに返す必要があることを意味します。それで、なぜ私たちは両方を持っていないのですか?それだけでなく、クライアント側とサーバー側で同じJavaScript関数を使用して、2つの完全な一貫性を確保することもできます。
次の段落をご覧ください。CheckMyZip()関数に特に注意してください。
コードコピーは次のとおりです。
<%@言語= "javascript"%>
<%
// noasphere、justaregularhtmlpage
%>
<html>
<ScriptLanguage = "JavaScript">
<! - 非表示
functioncheckmyzip(zipcode)
{
varmyRegularExpression =/(^/d {5} $)|(^/d {5} - /d {4} $)/
if(myregularexpression.test(zipcode)== true)
{
return Nothingiswrong();
}
それ以外
{
そのようなものを返しますiswrong();
}
}
functionnegiswrong()
{
// rodothing
returntrue
}
そのようなものを機能させるiswrong()
{
アラート( "somethingwiththezipcodeyouuuprovided。"))
document.zipcodeform.zipcodetext.focus()
ReturnFalse;
}
//停止 - >
</script>
<strong> typeavalidu.s.postalzipcodeintothebox、andsubmitit。</strong>
<formname = "zipcodeform" action = "script05a.asp" method = "post"
onsubmit = "returncheckmyzip(document.zipcodeform.zipcodetext.value)">
<inputtype = "text" name = "zipcodetext"> <br>
<br>
<inputtype = "submit" bulation = "submit">
</form>
</html>
このレッスンで私たちが見ているのは、JavaScriptを使用してASPスクリプトを作成する最大の報酬です。以下のスクリプトを見てから、CheckMyzip()関数にもう一度注意を払ってください。
コードコピーは次のとおりです。
<%@言語= "javascript"%>
<%
functioncheckmyzip(zipcode)
{
varmyRegularExpression =/(^/d {5} $)|(^/d {5} - /d {4} $)/