【Javascript】switch文で正規表現を使ってみよう!!!
前回、作成したシンプルな正規表現の部品から、今回は条件分岐を取り入れてみました。
実際の業務では、以下のような入力チェックを行うのかなと思います。
1、違うファイルに各項目のIDと項目のあるべき属性をまとめて管理する
2、入力チェックを行う際は、DOMのIDの取得
3、あるべき属性の取得
4、DOMのIDとあるべき属性で比較する
<html>
<head></head>
<body>
<h2>これは入力した文字に対し、指定したエラーチェックを行う部品</h2>
<h1>全角・半角英字・半角数字・西暦(次回はプルダウン予定)</h1>
<input type="text"name="tex" id="input"value="" >エラーチェックを指定してください
<br>
<input type="text"name="tex" id="input1"value="" >適当な文字列を入力してください
<input type="button" value="確認"onclick="serch()"><br>
<br>
<script Language="JavaScript" type="text/javascript">
function serch(){
<!--
///メモ「正規表現」///
//パターン→[x-y]の範囲の指定は連続して記述できる
//パターン→[x-y]の範囲の指定する場合、ひらがなは「ぁ-ん」で表現
//パターン3→桁数指定の{}では、ピンポイントで桁数を指定できる
///メモ「正規表現」///
-->
var str=new String();
str=document.getElementById("input").value;
str1=document.getElementById("input1").value;
pattern=/[ぁ-ん1-9]+$/;
pattern1=/[a-z]+$/;
pattern2=/[0-9]+$/;
pattern3=/\d{4}/;
switch(str){
case "全角":
alert("全角");
var result=str1.match(pattern);
alert(result);
if(result){
alert("この文字列は"+str+"です");
}
else{alert(str+"で入力してください");
}
break;
case "半角英字":
alert("半角英字");
var result=str1.match(pattern1);
alert(result);
if(result){
alert("この文字列は"+str+"です");
}
else{alert(str+"で入力してください");
}
break;
case "半角数字":
alert("半角数字");
var result=str1.match(pattern2);
alert(result);
if(result){
alert("この文字列は"+str+"です");
}
else{alert(str+"で入力してください");
}
break;
case "西暦":
alert("西暦");
var result=str1.match(pattern3);
alert(result);
if(result){
alert("この文字列は"+str+"です");
}
else{alert(str+"で入力してください");
}
break;
}}
</script>
</body>
</html>