• ベストアンサー

日付入力

テキストボックスにYYYY/MM/DDの形式で入力します。 入力中に、YYYYが入力されたら自動的にスラッシュを付け加えて、またMMと入力したらスラッシュが自動的に入るようにしたいです。その過程で、日付のチェックも同時に行ないたいです。 どう書けばよいのでしょうか。ぜひ教えてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#23734
noname#23734
回答No.2

<HTML> <HEAD> <TITLE>日付が完璧に打てたら・・・</TITLE> <script> function zzz(obj){ aaa=obj.value.length if((aaa == 4)||(aaa==7)){obj.value+='/'} else if(aaa > 10){ obj.value = obj.value.substring(0,10) Y=eval(obj.value.split('/')[0]) M=eval(obj.value.split('/')[1]) D=eval(obj.value.split('/')[2]) ss=new Date(obj.value) YY=ss.getFullYear() MM=ss.getMonth()+1 DD=ss.getDate() YOK=(ss.getFullYear()==Y) MOK=((ss.getMonth()+1)==M) DOK=(ss.getDate()==D) if(YOK&&MOK&&DOK){alert('( ̄▽ ̄ )ノ☆・゜:*☆【ネ兄】オールクリア;:*:;゜:*☆ヽ(  ̄▽ ̄)')} else if(YOK&&MOK||YOK&&DOK||MOK&&DOK){alert('後一息です。')} else if(YOK||MOK||DOK){alert('もう少し頑張りましょう')} else{ alert('小学校からやり直してください。')} } } </script> </HEAD> <BODY> <input type="text" onkeyup="zzz(this)"> </BODY> <HTML> こんな感じかな? 物凄く使いにくいです。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

できないことはないですが、かなり使い勝手がわるい仕組みにかんじます。 もしやるなら、8桁の数字をいれて、onBlurでカーソルがはずれた際に 自動的にスラッシュをつけるという方法が妥当ではないでしょうか?