搜集整理常见的限制INPUT输入类型的实现方式:
1.只能输入和粘贴汉字
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text'.clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"><br/>
\u4E00-\u9FA5 是两个unicode值,在unicode表中汉字的头和尾。
2.只能输入和粘贴数字
<input onkeyup="value=value.replace(/[^\d]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"><br/>
3.只能输入数字和英文
<input onkeyup="value=value.replace(/[\w]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"><br/>
4.只能输入全角的
<input onkeyup="value=value.replace(/^\uFF00-\uFFFF/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/^\uFF00-\uFFFF/g,''))">
5.数字脚本
<input onkeyup="if(/\D/.test(this.value)){alert('只能输入数字');this.value='';}"><br/>
6.禁止输入汉字
<input style="ime-mode:disabled">输入法不可转换,但可粘贴上<br/>
7.输入数字和小数点
<input onkeyup="value=value.replace(/[^\d{1,}\.\d{1,}|\d{1,}]/g,'')"/><br/>
8.只能数字和"-".例如在输入时间的时候使用
<input onkeyup="value=value.replace(/[^\w&=]|_/ig,'')" onblur="value=value.replace(/[^\w&_]/ig,'')"/>
具体案例:
1.检验是否全由数字组成
/^[0-9]{1,20}$/
2.校验登录名
只能输入5-20个以字母开头、可带数字、'_'、' . '的字串
/^[a-zA-Z]{1}([a-zA-Z]|[._]){4,19}$/
3.检验用户姓名:只能输入1-30个以字母开头的字串
/^[a-zA-Z]{1,30}$/
4.检验密码:只能输入6-20个字母、数字、下划线
/^(\w){6,20}$/
5.校验普通电话、传真号码:可以'+'或数字开头,可含有'-'和' '
/^[+]{0,1}(\d){1,3}[]?[-]?)((\d)|[]){1,12})+$/
6.校验URL
/^http[s]{0,1}:\/\/.+$/或/^http[s]{0,1}:\/\/.{1,n}$/(url串的长度为length('http://')+n)
\/:表示字符"/"
.:表示所有字符的集;
+等同于{1,},就是1到正无穷。
7.校验纯中文字符
/^[\u4E00-u9FA5]+$/