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) |