有没有办法只接受特定的数据类型,例如具有contenteditable html属性的日期?

时间:2016-12-13 12:40:14

标签: html contenteditable

有没有办法实现这样的目标?

<pre>
<p contenteditable="true" type="date">12-04-1994</p>
</pre>

所以它只接受日期格式?

1 个答案:

答案 0 :(得分:1)

这可能会有所帮助;请注意,它会忽略第10个字符后的所有内容,并且不会检查实际日期值的有效性(例如,您可以说45/96/2543并且它将有效)。

setInterval(check,100);
function check(){
  var date=document.getElementById("date").innerHTML;
  if(!isNaN(parseInt(date.charAt(0), 10))&&!isNaN(parseInt(date.charAt(1), 10))&&date.charAt(2)=="-"&&date.charAt(5)=="-"&&!isNaN(parseInt(date.charAt(3), 10))&&!isNaN(parseInt(date.charAt(4), 10))&&!isNaN(parseInt(date.charAt(6), 10))&&!isNaN(parseInt(date.charAt(7), 10))&&!isNaN(parseInt(date.charAt(8), 10))&&!isNaN(parseInt(date.charAt(9), 10))){
    document.getElementById("output").innerHTML="Yes Date";
  } else {
    document.getElementById("output").innerHTML="No Date";
  }
}
<pre>
<p contenteditable='true' id='date' style='border:1px solid black;'>Edit me</p>
<p id='output'></p>
</pre>