一般是根据正则表达式匹配的:下面是几个正则表达式的含义
- /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='';}">