input框中使用oninput属性限制输入内容

需求案例

当我们在页面中写一个<input>框时,想要限制输入的内容只能为英文和数字,其它内容均不能输入,该如何实现。

分析

这种input框限制输入的需求,大都是由正则表达式来完成。

不过,网上搜一下很多方法都是通过onkeyup指定方法里进行文本替换,相当于输入一个字符调一次方法,效率不高,并且网上按关键字搜出的博客大都雷同,很多正则表达式试过都没效果,哭(┬_┬),只能自己想其它办法。

还好,HTML5里支持oninput,能很简洁方便地解决这个问题。亲测,IE、谷歌和火狐都可以很好地支持。

实现方法

1. 限制只能输入英文字母和数字:

<input type="text"name="username" id="username" οninput="value=value.replace(/[^a-zA-Z0-9]+$/,'')">

2. 加上长度限制,输入字符长度不超过20:

<input type="text"name="username" id="username" οninput="value=value.replace(/[^a-zA-Z0-9]+$/,'');if(value.length>20)value=value.slice(0,20)">

其它相关限制方法:

1. 只能输入中文:

<input type="text" name="username" id="username" οninput="value=value.replace(/[^\u4e00-\u9fa5]/g,'')" placeholder="只能输入中文">

2. 只能输入英文字符、数字和指定的"%"、"#"、"/"等字符

<input type="text" name="url" id="url" οninput="value=value.replace(/[^a-zA-Z0-9&=%#/]/g,'')">

本篇结束语

想要学习更多java编程技术吗?欢迎查看我的专栏《SSM整合之企业级后台管理系统》,更多交流还欢迎加入QQ群:584017112

发布了36 篇原创文章 · 获赞 75 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/u012586848/article/details/102720372