如题,想限制文本框的输入格式,比如只能输入数字,不是数字输入就无反应,或者输入日期,必须要按照指定的格式,请问怎么实现

解决方案 »

  1.   

    只输入数字:<INPUT TYPE="text"  onkeyup="value=value.replace(/[^\d]/g,'')">  
    在输入文本框中的onkeyup 事件中加上这句value=value.replace(/[^\d]/g,'')即可限制只输入数字
    其它对应的正则JS如下:
    限制只能输入中文:value=value.replace(/[^\u4E00-\u9FA5]/g,'')
    限制只能输入全角字符value=value.replace(/[^\uFF00-\uFFFF]/g,'')
    限制只能输入数字和英文:value=value.replace(/[\W]/g,'')
      

  2.   

     function checkNumeric(value){
        if ( !( ((event.keyCode >= 48) && (event.keyCode <= 57))||event.keyCode==46 ||event.keyCode==45 ) ){
                event.keyCode = 0 ;
        }else if((value.indexOf(".")!=-1)&&event.keyCode==46){
               event.keyCode=0;
        }else if((value.indexOf("-")!=-1)&&event.keyCode==45){
         event.keyCode=0;
        }
       }
    一是控制keycode码 来实现 如上。
    而是用正则也比较容易  网上资料太多了 自己search吧
      

  3.   

    用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))" 用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))" 用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" 
      

  4.   

    补充下限制日期的正则为:^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$
    即value=value.replace(/^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$,'')