前提・実現したいこと
課題で社員情報登録のフォームを作成しており、
生年月日の入力チェックで存在しない日付を弾きたいです。(閏年も含む)
発生している問題・エラーメッセージ
入力形式のチェックまではできているのですが、知識不足で日付のチェックのやり方が分からず困っております。 ご教示いただけると助かります。
該当のソースコード
javaScript
1 // 入力内容チェックのための関数 2 function input_check(){ 3 var result = true; 4 5 // エラー用装飾のためのクラスリセット 6 $('#emp_pass').removeClass("inp_error"); 7 $('#emp_name').removeClass("inp_error"); 8 $('#address').removeClass("inp_error"); 9 $('#birthday').removeClass("inp_error"); 10 11 12 // 入力エラー文をリセット 13 $("#emp_pass_error").empty(); 14 $("#emp_name_error").empty(); 15 $("#address_error").empty(); 16 $("#birthday_error").empty(); 17 18 // 入力内容セット 19 var emp_pass = $("#emp_pass").val(); 20 var emp_name = $("#emp_name").val(); 21 var address = $("#address").val(); 22 var birthday = $("#birthday").val(); 23 24 // 入力内容チェック 25 26 // パスワード 27 if(emp_pass == ""){ 28 $("#emp_pass_error").html("* パスワードを入力してください。"); 29 $("#emp_pass").addClass("inp_error"); 30 result = false; 31 }else if(emp_pass.length > 16){ 32 $("#emp_pass_error").html("* パスワードは16文字以内で入力してください。"); 33 $("#emp_pass").addClass("inp_error"); 34 result = false; 35 } 36 // 社員名 37 if(emp_name == ""){ 38 $("#emp_name_error").html("* 社員名を入力してください。"); 39 $("#emp_name").addClass("inp_error"); 40 result = false; 41 }else if(emp_name.length > 30){ 42 $("#emp_name_error").html("* 社員名は30文字以内で入力してください。"); 43 $("#emp_name").addClass("inp_error"); 44 result = false; 45 } 46 47 // 住所 48 if(address == ""){ 49 $("#address_error").html("* 住所を入力してください。"); 50 $("#address").addClass("inp_error"); 51 result = false; 52 }else if(address.length > 60){ 53 $("#address_error").html("* 住所は60文字以内で入力してください。"); 54 $("#address").addClass("inp_error"); 55 result = false; 56 } 57 58 // 生年月日 59 if(birthday == ""){ 60 $("#birthday_error").html("* 生年月日を入力してください。"); 61 $("#birthday").addClass("inp_error"); 62 result = false; 63 }else if(!birthday.match(/^\d{4}/\d{1,2}/\d{1,2}$/)){ 64 $("#birthday_error").html("* 正しい日付を入力してください。"); 65 $("#birthday").addClass("inp_error"); 66 result = false; 67 } 68 69 return result; 70}
html
1<form action="<%=request.getContextPath()%>/RegistCheck" 2 method="post" onsubmit="return input_check();" class="regist_input"> 3 <table class="emp_form"> 4 <tr> 5 <th class="label">パスワード:</th> 6 <td class="input"><input type="password" id="emp_pass" 7 name="emp_pass"><br /><span id="emp_pass_error" 8 class="error_m"></span></td> 9 </tr> 10 <tr> 11 <th class="label">社員名:</th> 12 <td class="input"><input type="text" id="emp_name" 13 name="emp_name"><br /><span id="emp_name_error" 14 class="error_m"></span></td> 15 </tr> 16 <tr> 17 <th class="label">性別:</th> 18 <td class="input"><label><input type="radio" 19 name="gender" value="1" checked="checked" />男性</label> <label><input 20 type="radio" name="gender" value="2" />女性</label></td> 21 </tr> 22 <tr> 23 <th class="label">住所:</th> 24 <td class="input"><input type="text" id="address" 25 name="address"><br /><span id="address_error" class="error_m"></span> 26 </td> 27 </tr> 28 <tr> 29 <th class="label">生年月日:</th> 30 <td class="input"><input type="text" id="birthday" 31 name="birthday"> 32 <br /><span id="birthday_error" 33 class="error_m"></span></td> 34 </tr> 35 <tr> 36 <th class="label">権限:</th> 37 <td class="input"><label><input type="radio" 38 name="authority" value="1" checked="checked" />一般</label> <label><input 39 type="radio" name="authority" value="2" />管理者</label></td> 40 </tr> 41 <tr> 42 <th class="label">部署名:</th> 43 <td class="input"><select name="dept_id"> 44 <option value="1">営業部</option> 45 <option value="2">経理部</option> 46 <option value="3">総務部</option> 47 </select></td> 48 </tr> 49 </table> 50 <input type="submit" value="登録"/> 51 </form>

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。