を行う前に、JSを使用して各入力をチェックすることができ:
は
<script>
window.addEventListener("load",function(){
document.getElementById("someid").addEventListener("input",function(){
this.value=this.value.split("/").slice(0,2).map((el,i)=>parseInt(el,10)&&i<2?el.slice(0,2+2*i):"").join("/");
});
});
</script>
<input id="someid" />
これはちょうど1234分の23を強制します。しかし、あなたはそれがより複雑になるかもしれない:
var length=0;
document.getElementById("someid").addEventListener("input",function(){
if(length>(length=this.value.length)) return; //enable deleting
var mapped=this.value.split("").map(function(char,i){
switch(i){
case 0:
return char=="1" || char=="0"?char:"";
break;
case 1:
return !isNan(parseInt(char,10))?(this[0]=="0"?char:(+char<3?char:"")):"";
break;
case 2:
return "/";
break;
case 3:
case 4:
case 5:
case 6:
return !isNan(parseInt(char,10))?char:"";
break;
default:
return "";
break;
}
},this.value);
if(mapped.length===2) mapped.push("/");
this.value=mapped.join("");
});
それがその位置にある文字のための特別なrequirenmentsを気力ていない場合には0ですべての文字に置き換えられます。また、投稿する前に検証
http://jsbin.com/razupobamu/edit?output
...私はは上記を削除イネーブルすることをお勧めしますなぜ編集は、thatsの間、自動的に、しかし、これは問題を引き起こす可能性が二文字の後に入力クライアント側の/を追加しますフォーム –
'<入力タイプ="日付 ">' – j08691
@LelioFaieta、私はあなたが明確に質問を理解したとは思わない。 MM/YYYYのような入力フィールドをフォーマットする必要があります。検証は他の場所で行われます。 –