javascript - Html怎样用js限制某input输入框仅允许输入英文或数字呢?(使用onkeydown事件)
伊谢尔伦
伊谢尔伦 2017-04-10 15:55:24
[JavaScript讨论组]

Html怎样用js限制某input输入框仅允许输入英文或数字呢?(使用onkeydown事件)

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(3)
迷茫

简单点写就是这样

$('input').on('keyup', function(){
    this.value = this.value.replace(/[\W|\_]/g,function(){
        //alert('请输入字母或数字')
        return ''
    })
})

这里非法字符先出现,后被替换为'',会有闪烁的现象,如果想要做的更好点,那就推荐用个p和input叠在一起,让input过滤后的value innerHTML到p中

PHPz
  1. 你得用 keyup 事件,只有 keyup 事件你才能获取到当前输入的字符

  2. keyup 事件处理器中过滤非英文和数字的字符,用正则过滤 [A-Za-z0-9]

PHP中文网

不认同@elliott的答案1,keydown, keypress, keyup三个键盘事件最大的不同在于触发顺序。至于它们一些别的键码上的细微区别,一搜一大把。并不是只有keyup才能获取当前输入,而且,也是不能直接获取字符的。

回归到题主的问题,思路其实就是基本的正则过滤,楼上的答案2已经给出。拿到键码,匹配正则。当然粗暴点,你也可以列个keyCode的hash,进行匹配判断。

话说,为什么不用keypress。最起码天然过滤功能键不好么。顺带一提,别忘了PreventDefault哦

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号