input输入框中输入格式的限定

一般是根据正则表达式匹配的:下面是几个正则表达式的含义

  • /i (忽略大小写)
  • /g (全文查找出现的所有匹配字符)
  • /m (多行查找)
  • /gi(全文查找、忽略大小写)
  • /ig(全文查找、忽略大小写)

0.文本框不能黏贴文字

<input onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">

onbeforepaste 意思是在用户执行粘贴动作之前。

clipboardData.setData('text', xxx)  是把xxx的内容复制到剪贴板

clipboardData.getData('text')  是读出当前剪贴板里的内容,

.replace(/[^\d]/g,'')  是正则替换,把里面除了数字以外的字符全部都去掉,

整个语句的功能是,每当用户执行粘贴操作前,先取出剪贴板的内容字符串,删除不是数字的字符,只保留数字,然后再粘贴,而不是直接粘贴

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 
    onkeyup="value=value.replace(/[\d]/g,'') "
    onbeforepaste
        ="clipboardData.setData('text',clipboardData.getData('text').replace(/[\d]/g,''))" 
    maxlength=10 
    name="Numbers">

4.只能输入英文字母和数字,不能输入中文

扫描二维码关注公众号,回复: 4653750 查看本文章
<input onkeyup="value=value.replace(/[^\w\.\/]/ig,'')">

5.只能输入数字和英文

<input onKeyUp="value=value.replace(/[^\d|chun]/g,'')">

6.小数点后只能有最多两位(数字,中文都可输入),不能输入字母和运算符号:

<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && event.keyCode!=46 || /\.\d\d$/.test(value))event.returnValue=false">

7.小数点后只能有最多两位(数字,字母,中文都可输入),可以输入运算符号:

<input onkeyup="this.value=this.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')">

8.用JS的正则表达式如何判断输入框内为中文或者是英文数字,或者是三者混编:

  • 只能输入数字和英文的:
<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
  • 只能输入数字的:
<input onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
  • 只能输入全角的:
<input onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))">
  • 只能输入汉字的:
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">

也可以这样: 

<input type=text name= caolig value ="" onblur="if (!(/^[\d]+\.?\d*$/.test(this.value)) ){alert('您的输入有误'); this.value='';this.focus();}">  

猜你喜欢

转载自blog.csdn.net/Asa_Prince/article/details/84317681