インターネット上でASP動的に生成されたフォーム検証JavaScriptコードを使用し、自分で拡張しました。著者の名前を忘れましたが、第1条から第9条までのコードはすべて著者のオリジナル作品であることをはっきりと覚えています。第9条から15条については、自分で追加しました。さらに、私のレベルが限られているため、第9条から第15条まで、それらのすべてが発生しない可能性がありますか?ハハ、実際にここに投稿する必要はありません。誰もがこの小さなトリックを使用できるからです。その機能を次のように配置しました。開発中に関数が見つからない場合は、ここにコピーするだけです。ハハ、私はバーナーやモバイルハードドライブを持っていないからです。これらのコードを携帯する方法は本当にありませんが、幸いなことに、北京のどこでもインターネットにアクセスできます。これをここに置き、Ctrl+Cを使用してから、Ctrl+Vを使用します。
<% '****************************************************************
'関数名:checkform_js(frmname、errstr)
'機能:ASPメソッドを使用して、JavaScriptフォーム検証機能CheckSubmit()を動的に書き込みます
'使用方法:1。<! - includefile = url+ページこの関数が配置されている>;
'2。 <formosubmit = "javascript:returnchecksubmit()">;
'元の著者は忘れられました、2番目の開発著者:guo.qm
'最終更新:2004年
'****************************************************************
'ヘルプ:
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'・粒子の説明:
'frmname:フォームフィールドの名前
'ERRSTR:次のようなリストを確認します。
'numはフォームフィールド名を表し、3は検証パラメーターを表し、8は(オプション)以上の数字を表します
'
'・検証パラメーターリスト:
'0:必須のテキストタイプ
'1:必要なリストメニュータイプ
'2:テキストタイプの番号でなければなりません
'3:指定された桁数のテキストタイプでなければなりません
'4:テキストタイプは、指定された数字の数より大きくなければなりません
'5:電子メールのテキストタイプでなければなりません
'6:0-9のAZまたは文字でなければなりません
'7:パスワードとパスワードがテキストタイプに等しくなければならないことを確認してください
'8:数字から始まるテキストタイプではないことを確認してください
'9:形式10-888888のテキストタイプを含める必要があります
'10:中国語、スペース、その他の違法なキャラクターを含めることができないテキストタイプ、つまり、「_ "" - "" - "" "0-9" "az" az "のみを含めることができます
'11:番号と「 - 」のみを含める必要があります
'12:正しいURLのテキストタイプでなければなりません
'13:指定された数字のテキストタイプよりも少ない必要があります
'14:HTMLタグを含めてはならないテキストタイプ
'15:選択タイプが無効になっていないことを確認するフォーマットを選択する必要があります:フォーム項目を確認| 15 |迅速な情報|協会アイテム」
'注:カスケードメニューがある場合は、カスケードメニューの検証プロセスを最後の検査に配置してください! ! ! !
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%>
<%
subcheckform_js(frmname、errstr)
dimtmparr
ディミ
dimstrshow 'jsの出力文字列
'エラーリストを取得し、配列を作成します
tmparr = split(errstr、 "、")
'JSを書く
fori = 0toubound(tmparr)
ifi <> 0then
strshow = strshow& "else"&findjs(frmname、tmparr(i))
それ以外
strshow = strshow&findjs(frmname、tmparr(i))
endif
次
'出力
strshow = "<scriptlanguage = javascript>"&vbcrlf&_
"<! - "&vbcrlf&_
"// PowerByGuoquanman2004"&vbcrlf&_
"functionChecksubmit()"&vbcrlf&_
"{"&vbcrlf&_
"varemailreg =/^[_ a-z0-9]+@([_ a-z0-9]+/。)+[a-z0-9] {2,3} $/;"&vbcrlf&_
"varpwdreg =/[a-z0-9] $/;"&vbcrlf&_
"varuidbeginErg =/^[0-9]+[_ a-z0-9]/;"&vbcrlf&_
"varphonereg = // d {2} - /d {5}/;"&vbcrlf&_
"varphonedetailreg =/[^0-9/ - ]/;"&vbcrlf&_
'varuidreg =/[^a-za-z0-9 _/ - ]/; "&vbcrlf&_
"varhtmlreg =/<(。*)>。*</// 1>/;"&vbcrlf&_
"varre1 =/^http:////
'varre2 =/^http:///
"varre3 = //。{2、}/;"&vbcrlf&_
"varre4 = //:{2、}/;"&vbcrlf&_
"varre5 = /// {3、}/;"&vbcrlf&_
"varre6 = //、+/;"&vbcrlf&_
"varre7 = //!+/;"&vbcrlf&_
"varre8 = //@+/;"&vbcrlf&_
"varre9 = //#+/;"&vbcrlf&_
"varre10 = // $+/;"&vbcrlf&_
"varre11 = //^+/;"&vbcrlf&_
"varre12 = //*+/;"&vbcrlf&_
"varre13 = // |+/;"&vbcrlf&_
"varre14 = //。
Strshow&_
「else」&vbcrlf&_
"ReturnTrue;"&vbcrlf&_
"}"&vbcrlf&_
"//->"&vbcrlf&_
「</script>」
respons.writesstrshow
Endingub
functionfindjs(frmname、errstr)
dimtmparr
ディミ
'パラメーター値
i = 0
'エラーリストを取得し、配列を作成します
tmparr = split(errstr、 "|")
'出力クエリ条件
selectcasetmparr(i+1)
ケース「0」に必要なテキストタイプ
findjs = "if((document。"&frmname& "。"&tmparr(i)& "。value)==" "" ")"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "1"に必要なリストメニュータイプ
findjs = "if((document。"&frmname& "。"&tmparr(i)& "。value)==" "" ")"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "2" 'は番号のテキストタイプでなければなりません
findjs = "if(isnan(document。"&frmname& "。"&tmparr(i)& "。value))"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "3" '指定された数字のテキストタイプでなければなりません
findjs = "if(document。"&frmname& "
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "4" '指定された桁数のテキストタイプよりも大きくなければなりません
findJS = "if(document。"&frmname& "
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "5" 'は、電子メールのテキストタイプでなければなりません
findjs = "if((!emailreg.test(document。"&frmname& "。"&tmparr(i)& "。value))&&(document。"&frmname& "。"&tmparr(i)& "。value!= '')"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "6" 'は、0-9のAZまたはテキストタイプの文字でなければなりません
findjs = "if((!pwdreg.test(document。"&frmname& "。"&tmparr(i)& "。value))&&(document。"&frmname& "。"&tmparr(i)& "。value!= '')"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "7" 'パスワードとパスワードがテキストタイプに等しくなければならないことを確認します
findjs = "if((document。"&frmname& "。"&tmparr(i)& "。value)
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "8" 'は、数字から始まるテキストタイプを確認します
findjs = "if((uidbeginreg.test(document。"&frmname& "。"&tmparr(i)& "。value))&&(document。"&frmname& "。"&tmparr(i)& "。value!= '')"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "9" 'は、フォーマット10-101212の電話番号を確認します
findjs = "if((!phonereg.test(document。"&frmname& "。"&tmparr(i)& "。value))&&(document。"&frmname& "。"&tmparr(i)& "。価値!= '')"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "10" 'は、英語の文字と「 - 」、「_」を含むテキストのみを確認します。 (つまり、中国語やその他の特殊文字は含まれていません)
findjs = "if((uidreg.test(document。"&frmname& "。"&tmparr(i)& "。value))&&(document。"&frmname& "。"&tmparr(i)& "。value!= '')"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "11" 'は、数字と「 - 」のみが含まれていることを確認します(電話番号とファックスで一般的に使用されています)
findjs = "if((phonedetailreg.test(document。"&frmname& "。"&tmparr(i)& "。value))&&(document。"&frmname& "。"&tmparr(i)& "。value!= '')"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "12" 'は、それが有効なURLであるかどうかを確認します!
findjs = "if(((!re1.test(document。"&frmname& "。」&tmparr(i)&"。value))&&(!re2.test(document。 "&frmname&"。 "&tmparr(i)&"。値)) "&_
"&&(document。"&frmname& "。"&tmparr(i)& "。value!= '')||"&_
"(Re3.test(document。"&frmname& "
"(Re5.test(document。"&frmname& "。"&tmparr(i)& "。value))||(re6.test(document。"&frmname& "。"&tmparr(i)& "。value))||"&_
"(re7.test(document。"&frmname& "
"(Re9.test(document。"&frmname& "
"(re11.test(document。"&frmname& "
"(re13.Test(document。"&frmname& "
"&&(document。"&frmname& "。"&tmparr(i)& "。value!= '')"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "13" 'テキストタイプが固定数字の数より大きくないことを確認します
findjs = "if(document。"&frmname& "
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "14" 'は、HTMLタグを含むテキストタイプを確認します
findjs = "if(htmlreg.test(document。"&frmname& "。"&tmparr(i)& "。値))"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。select();"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。focus();"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf
exitFunction
ケース "15"
'===============================================================================================================
'選択タイプが無効になっていることを確認すると、形式を選択する必要があります:state | 15 |州名を選択してください! | Selcountry | City |都市情報を選択してください
'注:SelectedIndex!= 0の場合、アイテム2とアイテム3が無効になります!他の2つのアイテムを確認する必要はありません
'最初の項目をCascadingメニューのselecteddindex == 0の場合、2番目のアイテムのselectedindexは0ではなく、2番目のアイテムの2番目の項目がselecteddindex!= 0の場合、3番目のアイテムのselectedindexも0になりません。
「このアイテムは、国/州/市の3つのカスケードメニューをチェックするために使用されます。国が中国ではないとき、州と都市は満たされないかもしれません。中国であるとき、州と相対的な都市を埋めなければなりません!
findjs = "if(document。"&frmname& "
"{"&vbcrlf&_
"if(document。"&frmname& "。"&tmparr(i)& "。selectedindex == 0)"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。フォーカス;"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf&_
"elseif(document。"&frmname& "。"&tmparr(i)& "。selectedindex!= 0)"&vbcrlf&_
"{"&vbcrlf&_
"if(document。"&frmname& "。"&tmparr(i+4)& "。selectedindex == 0)"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+5)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i+4)& "。focus;"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf&_
"}"&vbcrlf&_
"}"&vbcrlf
exitFunction
Case "16" '選択タイプが無効になっていることを確認します。フォーマットを選択する必要があります。フォーム項目| 16 |迅速な情報|協会項目 "注:関連アイテムが最初のアイテムである場合、確認が開始されます!
findjs = "if(document。"&frmname& "
"{"&vbcrlf&_
"if(document。"&frmname& "。"&tmparr(i)& "。selectedindex == 0)"&vbcrlf&_
"{"&vbcrlf&_
"window.alert( '"&tmparr(i+2)& "');"&vbcrlf&_
"document。"&frmname& "。"&tmparr(i)& "。フォーカス;"&vbcrlf&_
"ReturnFalse;"&vbcrlf&_
"}"&vbcrlf&_
"}"&vbcrlf
exitFunction
EndSelect
エンド機能
%>