文本框可以输入或拖拽 0-9和/

js代码:

var dropFalg = ""; /*判断鼠标是否进行过拖拽*/
var tmpValue= "";  /*鼠标拖拽的值*/
/*
 *判断鼠标选中的值是否合法
*/
function selectClear(){
   if(dropFalg == "")tmpValue = document.selection.createRange().text; /*页面上没用进行鼠标拖拽时,取得鼠标选中的值*/
   if(tmpValue!="" && !checkKeycode(tmpValue)){ /*判断选中的值得合法性质*/
       if(dropFalg != "")document.selection.clear();/*当页面上进行过鼠标拖拽时,清理选中的值*/
   }
 }
 /*
  *清理,页面上复制的缓存
 */
function cleartmpData(){
   of();/*判断当前页面上是否进行过复制 并且判断复制的内容的合法性质*/
   if(dropFalg!= "")dropFalg= ""; /*判断鼠标进行过拖拽,将其标志变量,清空*/
}
 /*
  *页面上入力时,进行的验证
 */
function cd(){
 /*判断入力值得键值*/
    if((event.keyCode > 36 && event.keyCode < 41)|| (event.keyCode > 45 && event.keyCode < 58) || event.keyCode == 191 || event.keyCode == 8 || event.keyCode == 111 ||(event.keyCode > 95 && event.keyCode < 106)){
 }
 else{
      event.returnValue = false; /*事件值,返回假*/
 }
 cleartmpData();/*清理,页面上复制的缓存*/
 }
 /*
  *验证入力值是否合法
 */
function checkKeycode(o){
   return new RegExp("^[//d/]+$").test(o.replace(new RegExp("//s","g"),""));/*替换鼠标选择值得回车,并且匹配鼠标选择值包换不合法字符时,返回标志设置为假*/
 }
 /*
  *鼠标进行拖时执行
 */
 function ck(){
   if(dropFalg == "")tmpValue = document.selection.createRange().text;/*页面上没用进行鼠标拖拽时,取得鼠标选中的值*/
   dropFalg = "a";/*设置鼠标进行过拖拽*/
 }
 /*
  *判断当前页面上是否进行过复制 并且判断复制的内容的合法性质
 */
 function of(){
     /*判断当前页面上是否进行过复制 并且判断复制的内容的合法性质*/
     if(window.clipboardData.getData("text")!= null && !checkKeycode(window.clipboardData.getData("text"))){
       window.clipboardData.clearData("text");/*复制内容不合法时,清理复制的内容*/
   }
 }

html代码:

<html>
<head>
<script language="javascript" type="text/javascript" src="inputcheck.js"></script>
</head>
<body>
<h1>日期(只能输入数字和/)</h1>
<h1>做拽一下,到下面的文本框中</h1>
<h1>测试:1234567890/</h1>
<h1>测试:2007/01/03</h1>
<h1>测试:下123面的123文本框123中</h1>
<h1>测试:下.213123/123123//1231231</h1>
<h1>测试:到/下1面2的3文4本5框中</h1>
<input type="text" value="" id="t" style= "ime-mode:disabled" onmouseover="selectClear();cleartmpData();" onkeydown="cd();" size="50" ondrop="ck();" maxlength="10" onfocus="of();"/>
</body>

</html>


你可能感兴趣的:(JavaScript,html,测试,null,input)