ホームページ  >  記事  >  バックエンド開発  >  JavaScript 検証をフォームと組み合わせるにはどうすればよいですか?

JavaScript 検証をフォームと組み合わせるにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-23 14:12:31808ブラウズ

<script> <br> function checkIdcard(idcard1){ <br> var idcard=document.forms[0].elements[idcard1].value; <br> var Errors=new Array( <br> "認証に合格しました!", <br> "ID カード番号番号が違います!」、<br>「ID カード番号の生年月日が範囲外または不正な文字が含まれています!」、<br>「ID カード番号の認証エラーです!」、<br>「ID カードの領域が不正です!」 <br> ); <br> var area={11:「北京」、12:「天津」、13:「河北」、14:「山西」、15:「内モンゴル」、21:「遼寧」、22:「吉林」 、23:「黒竜江省」、31:「上海」、32:「江蘇省」、33:「浙江省」、34:「安徽省」、35:「福建省」、36:「江西省」、37:「山東省」、41 :"河南"、42:"湖北"、43:"湖南"、44:"広東"、45:"広西"、46:"海南"、50:"重慶"、51:"四川"、52:" 「貴州」、53:「雲南」、54:「チベット」、61:「陝西」、62:「甘粛」、63:「青海」、64:「寧夏」、65:「新疆」、71:「台湾」 ,81:"香港",82:"マカオ",91:"外国"} <br> var idcard,Y,JYM; <br> var idcard_array = new Array(); (""); <br> /*地域検査*/ <br> if(area[parseInt(idcard.substr(0,2))]==null) <br>alert(Errors[4]) <br> return false; <br> /*ID 番号の桁と形式のチェック*/ <br> switch(idcard.length){ <br> case 15: <br> if ( (parseInt(idcard.substr(6,2))+1900) % 4 == 0 || (( parseInt(idcard.substr(6,2)) +1900) % 100 == 0 && (parseInt(idcard.substr(6,2))+1900) % 4 == 0 )){ <br> ereg=/^[1 -9][0-9]{5} [0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0 -9]|3[0-1]) |(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9] ]|[1-2][0-9 ]))[0-9]{3}$/;//生年月日の正当性をテストします <br> } else { <br> ereg=/^[1-9][0 -9]{5}[0-9]{ 2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3 [0-1])|(04|06| 09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0 -9]|2[0-8])) [0-9]{3}$/;//生年月日の正当性をテストします <br> } <br> if(ereg.test(idcard)){ <br>alert(Errors[ 0]+"15"); <br> return false <br> } <br> else { <br> return false; <br> <br> case 18: <br> //18 桁の ID 番号の検出<br> //生年月日の正当性チェック <br> //閏年、月、日 :((01|03|05|07|08|10|12)(0[1-9]|[1-2][0- 9]|3[0-1])|(04|06|09 |11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9] |[1-2][0-9])) <br> //平年月日: ((01|03|05|07|08|10|12)(0[1-9]|[1-2 ][0-9]|3[0-1])|(04|06 |09|11)(0[1-9]|[1-2][0-9]|30)|02(0[ 1-9]|1[0-9]|2[0-8]) ) <br> if ( parseInt(idcard.substr(6,4)) % 4 == 0 || (parseInt(idcard.substr(6, 4)) % 100 == 0 && parseInt(idcard.substr(6,4) )%4 == 0 )){ <br> ereg=/^[1-9][0-9]{5}19[0- 9]{2}((01|03|05|07|08|10| 12)(0[1-9]|[1-2][0-9]|3[0-1])|(04 |06|09|11)(0[1-9]|[1-2 ][0-9]|30)|02(0[1-9]|[1-2][0-9])) [0-9]{3}[0-9Xx]$/;//閏年 生年月日の法的な正規表現 <br> } else { <br> ereg=/^[1-9][0-9]{5}19[ 0-9]{2}((01|03|05|07|08 |10|12)(0[1-9]|[1-2][0-9]|3[0-1])| (04|06|09|11)(0[1-9]|[ 1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0 -8]))[0-9]{3}[0-9Xx] $/;//平年における生年月日の正規表現<br> } <br> if(ereg.test(idcard)){//Test生年月日の正当性<br> //チェックデジットを計算します<br> S = (parseInt(idcard_array[ 0]) + parseInt(idcard_array[10])) * 7 <br> + (parseInt(idcard_array[1]) + parseInt(idcard_array[ 11])) * 9 <br> + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 <br> + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 <br>    + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 <br> + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 <br> + (parseInt(idcard_array[6] ) + parseInt(idcard_array[16])) * 2 <br> + parseInt(idcard_array[7]) * 1 <br> + parseInt(idcard_array[8]) * 6 <br> + parseInt(idcard_array[9]) * 3 ; <br> Y = S % 11; <br> M = 「F」; <br> JYM = 「10X98765432」; <br> M = JYM.substr(Y,1);/*判断校验位*/ <br> if(M == idcard_array[17]){ <br> alert(Errors[0]+"18");  <br> falseを返します。 /*检测ID的校验位*/ <br> } <br> else { <br> alert(Errors[3]);  <br> falseを返します。 <br> } <br> } <br> else { <br> alert(Errors[2]);  <br> falseを返します。 <br> } <br> 休憩; <br> <br> デフォルト: <br> alert(Errors[1]);  <br> falseを返します。 <br> <br> } <br> </script>








回复讨论(解决方案)

も反映されていません

你怎么写的,看下制台下报什么错了。题 私用の Utf-8

var idcard = form[idcard1].value;

var errors = new Array(

"验证通过!"、

"身份证身份证号码数不对!内容

var idcard = form[idcard1].value;
var Errors=new Array(
"'{$lang.owner_card1}'",
"{$lang.owner_card2}",
这两个都不行出乱コード ない javascript この样可读取的


还有就是这几个都加上单引号 验证有時会失灵
"{$lang.owner_card1}",
"{$lang.owner_card2}",

モジュールですか?
は utf-8 で暗号化されていますが、{$lang.owner_card1} などの形式でも utf-8 の値が必要です

メッセージが単一に組み込まれているかどうかは、表示される効果の違いだけです。影响一傲慢の判断

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。