JavaScriptで正規表現をチェックする機能を作りました。
入力が7文字でなかった場合、警告文が表示され、フォームの色が変わるものです。
今回は、複数のフォームに対してそれぞれに対応する正規表現に沿うか判定し、
エラーの場合同じ挙動を示させたいです。
そのためにswitchで分岐させてやろうと思ったのですが、上手くいきません。
switch文のcaseはid名そのままではないのでしょうか・・・??
ちゃんと動くコードを書くにはどこを変えればいいのでしょうか。
また、switch以外に見やすく短い解法はありますでしょうか。
JavaScript
1//以前作ったもの 2function RegEx(id){ 3 var code = document.getElementById(id); 4 var obj2 = document.getElementById('error'); 5 var data = /^\d{7}$/.test(code.value); 6 if(data == false) { 7 obj2.style.opacity = '1'; 8 document.getElementById('zip11').style.backgroundColor = '#eeedb2'; 9 }else{ 10 obj2.style.opacity = '0'; 11 document.getElementById('zip11').style.backgroundColor = '#ffffff'; 12 }; 13 14};
JavaScript
1//今回作っているもの 2function RegEx(id){ 3 var code = document.getElementById(id); 4 var obj2 = document.getElementById('error'); 5 switch( code ){ 6 case 'zip11': 7 var data = /^\d{7}$/.test(code.value); 8 break; 9 case 'tell': 10 var data = /^\d{11}$/.test(code.value); 11 break; 12 } 13 if(data == false) { 14 obj2.style.opacity = '1'; 15 document.getElementById('zip11').style.backgroundColor = '#eeedb2'; 16 }else{ 17 obj2.style.opacity = '0'; 18 document.getElementById('zip11').style.backgroundColor = '#ffffff'; 19 }; 20};
回答3件
あなたの回答
tips
プレビュー