回答編集履歴

1

追記

2019/01/29 02:07

投稿

yambejp
yambejp

スコア114915

test CHANGED
@@ -47,3 +47,47 @@
47
47
  ```
48
48
 
49
49
  あとは条件次第
50
+
51
+
52
+
53
+ # 追記
54
+
55
+
56
+
57
+ > セパレータは/のみで、1992/01/01という形式のみ許可
58
+
59
+
60
+
61
+ という条件で
62
+
63
+ ```javascript
64
+
65
+ <script>
66
+
67
+ window.addEventListener('DOMContentLoaded', function(e){
68
+
69
+ document.querySelector('[name=birthday]').addEventListener('change',function(e){
70
+
71
+ var v=e.target.value;
72
+
73
+ var b=new Date(v);
74
+
75
+ var y=b.getFullYear();
76
+
77
+ var m=b.getMonth()+1;
78
+
79
+ var d=b.getDate();
80
+
81
+ var reg=new RegExp("^"+y+"/"+(m+100).toString().substr(-2)+"/"+(d+100).toString().substr(-2)+"$");
82
+
83
+ document.querySelector('#birthday_err').textContent=(v=="" || v.match(reg))?"":"err";
84
+
85
+ });
86
+
87
+ });
88
+
89
+ </script>
90
+
91
+ <input type="text" name="birthday" pattern="\d{4}/\d{2}/\d{2}" placeholder="YYYY/MM/DD" size="10" required> <span id="birthday_err"></span>
92
+
93
+ ```