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 type="text" onkeyup="this.value=this.value.replace(/[^\-?\d.]/g,'')"/>

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.只能输入数字和英文

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

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

<input onKeyPress="if((event.keyCode<48 || event.keyCode>57) && 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.用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='';}">  

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值