网页特效代码_站长素材站移动版

帮助中心

主页 > 帮助中心 >

Input类型过滤,过滤中文汉字、过滤特殊字符、只能输入英文数字等

web开发过程中会经常遇到特殊字符的校验和处理,这里讨论将特殊字符替换为""的方式,当用户输入特殊字符后则直接删除。
 
1、input对非数字进行过滤
<input type="text" value="" name="amount" placeholder="充值金额" onkeyup="this.value=this.value.replace(/[^0-9]/g,'')" onafterpaste="this.value=this.value.replace(/[^0-9]/g,'')">
 
2、input对中文进行过滤
<input type="text" value="" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[\u4e00-\u9fa5]/g,''))" onkeyup="this.value=this.value.replace(/[\u4e00-\u9fa5]/g,'')">
 
3、input简易禁止输入汉字 (不支持使用本方法兼容性不好)
<input style="ime-mode:disabled">
 
4、input只能输入和粘贴汉字 
<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
 
5、input只能输入和粘贴数字 
<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" />
 
6、input只能输入数字和英文 
<input onkeyup="value=value.replace(/[\W]/g,'') " onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
 
7、input输入数字和小数点 
<input onkeyup="value=value.replace(/[^\d{1,}\.\d{1,}|\d{1,}]/g,'')" />
 
8、input只能数字和"-",例如在输入时间的时候可以用到 
<input onkeyup="value=value.replace(/[^\w&=]|_/ig,'')" onblur="value=value.replace(/[^\w&-]|_/ig,'')" />
 
9、input不可输入特殊字符(包括@#¥%&*和空格等)
<input onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">  
 
10、input限制输入空格
<input  onkeyup="this.value=this.value.replace(/^ +| +$/g,'')">
 
11、input限制输入空格及英文状态下的逗号
<input  onkeyup="this.value=this.value.replace(/[, ]/g,'')">
 
onafterpaste判断粘贴(如果是粘贴进input,则执行onafterpaste方法)
 
一般情况下,input是不需要过滤的,例如:如果input的type=password,则不需要过滤中文,空格或者特殊字符可以看需求酌情添加
 
(责任编辑:admin)

    468x60