input 输入限制

1.文本框只能输入数字代码(小数点也不能输入)
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" />
2.只能输入数字,能输小数点.
<input onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')"/>
<input name="txt1" onchange="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}"/>
3.数字和小数点方法二
<input type="text" t_value="" o_value="" onkeypress="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onkeyup="if(!this.value.match(/^[\+\-]?\d*?\.?\d*?$/))this.value=this.t_value;else this.t_value=this.value;if(this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?)?$/))this.o_value=this.value" onblur="if(!this.value.match(/^(?:[\+\-]?\d+(?:\.\d+)?|\.\d*?)?$/))this.value=this.o_value;else{if(this.value.match(/^\.\d+$/))this.value=0+this.value;if(this.value.match(/^\.$/))this.value=0;this.o_value=this.value}"/>
4.只能输入字母和汉字
<input onkeyup="value=value.replace(/[\d]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" maxlength="10" name="Numbers"/>
5.只能输入英文字母和数字,不能输入中文
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')"/>
6.只能输入数字和英文<font color="Red">chun</font>
<input onkeyup="value=value.replace(/[^\d|chun]/g,'')"/>
7.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:
<input onkeypress="if((event.keyCode<48 || event.keyCode>57) &amp;&amp; event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false"/>
8.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:
<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"/>
9.输入中文:
<input type="text" onkeyup="this.value=this.value.replace(/[^\u4e00-\u9fa5]/g,'')"/>
10.输入数字:
<input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')"/>  
11.输入英文:
<input type="text" onkeyup="this.value=this.value.replace(/[^a-zA-Z]/g,'')"/>
<InputNumber onChange={(value)}=>{console.log(value.replace(/[^\d]/g,''))} />//ant数字输入标签去除英文输入
12.三个合在一起
<input onkeyup="value=value.replace(/[^\w\u4E00-\u9FA5]/g, '')"/>
13.只输入数字和字母
<input class="input" maxlength="12" size="15" name="username" id="username" onkeyup="value=value.replace(/[\W]/g,'')"/>
14.除了英文的标点符号以为 其他的人都可以中文,英文字母,数字,中文标点
<input type="text" onkeyup="this.value=this.value.replace(/^[^!@#$%^&amp;*()-=+]/g,'')"/>
15.输入框禁止输入特殊字符
//  第一种方式比较强势(有点傻),正则里是键盘上所有特殊字符,包括中英文输入法(特殊的是中文的省略号和中划线要截取掉后两位)
$("input").on('input propertychange',function(){
    var value = $(this).val();
    var lastV = value.substring(value.length-1,value.length);
    var pattern = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\~!@#¥%&*()\-+={}|《》?:“”【】、;‘’,。、]/im;
    var pattern1 = /[……——]/im;
    if(pattern.test(lastV)){
        $(this).val(value.slice(0,value.length-1));
    }
    if(pattern1.test(lastV)){
       $(this).val(value.slice(0,value.length-2));
    }
});

  // 第二种方式比较直观
    var pat = /[0-9a-zA-Z]|[\u4e00-\u9fa5]/im;    //  只能输入字母、数字、和中文字符
    if(!pat.test(lastV)){
      $(this).val(value.slice(0,value.length-1));
    }
    if(pattern1.test(lastV)){    //  这里的原因是中文的省略号和中划线要截取掉后两位!!!
      $(this).val(value.slice(0,value.length-2));
    }
16.校验正则封装
//校验特殊字符正则
export const regularDetect = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/im;
//禁止输入特殊字符正则
export const regularProhibit = /^[^`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、+]+$/;
//禁止输入特殊字符正则(部分英文标点符号不禁止)
// export const re=/^[^<>`~!/\@\\#}$%:;,.?")(_^{&*=|·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、'+]+$/;
//禁止输入特殊字符正则(部分英文标点符号不禁止)
// export const regu=/^[^<>`~!/\@\\#}$%:;?")(_^{&*=|·~!@#¥%……&*()——\-+={}|?:“”;‘’'+]+$/;
//禁止输入空格
export const spaceProhibit = /^[^\s]*$/;

//正则表达式验证不能输入汉字
export const prohibitInput = /[\u4E00-\u9FA5]/g;
export const prohibitInputI = /^[\u4e00-\u9fa5]/;

//账号不能使用汉字
export const getValidator =(rule, value, callback)=>{
  // console.log(value);
  let replaceStr = value.replace(/[\u4E00-\u9FA5]/g,'*');
  // console.log("replaceStr.indexOf('*')!=-1:",replaceStr.indexOf('*')!=-1);
  if(replaceStr.indexOf('*')!=-1){
    callback('禁止输入汉字!')
  }
  callback()
}

//验证电话号码(包括移动和固定电话)
export const telephoneNumber = /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/;
export const phoneNumber = /^1(3|4|5|6|7|8|9)\d{9}$/;
export const getPhoneNumber =(rule, value, callback)=>{
  let valueStr = value.replace(/\s+/g,"");
  // console.log(valueStr);
  let telephoneNumber = /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(valueStr);
  let phoneNumber = /^1(3|4|5|6|7|8|9)\d{9}$/.test(valueStr);
  if(valueStr.length==11 && !phoneNumber){
    // console.log('if');
    callback('请输入正确的手机号码!')
  }else if(valueStr.length>0 && !telephoneNumber){
    // console.log('else');
    callback('请输入正确的号码!')
  }
  callback()
}

//验证中国身份证号码
export const idCard = /(^\d{15}$)|(^\d{17}([0-9]|X|x)$)/;

//验证英文字母
// export const englishAlphabetStr = /[^a-zA-Z]/g;
export const englishAlphabetStr = /[^\d]/g;
//验证英文字母
export const englishAlphabet =(rule, value, callback)=>{
  // console.log(rule);
  console.log(value);
  let replaceAlphabetStr = value.replace(/[^\d]/g,'*');
  // console.log(replaceAlphabetStr)
  // console.log("replaceStr.indexOf('*')!=-1:",replaceStr.indexOf('*')!=-1);
  if(replaceAlphabetStr.indexOf('*')!=-1){
    callback('禁止输入英文字母或字符!')
  }
  callback()
}

 

posted @ 2018-05-09 14:42  雨夜看叶  阅读(11748)  评论(0编辑  收藏  举报