
JavaScript限制input输入的各种方法汇总
下载需积分: 50 | 3KB |
更新于2024-09-12
| 37 浏览量 | 举报
收藏
本文主要汇总了JavaScript中对input输入的各种限制方法,包括取消按钮按下时的边框显示、设置文本框为只读、防止浏览器回退时清空文本、使用ENTER键移动光标、限制输入特定字符类型(如中文、数字、英文和数字混合)以及屏蔽输入法等。
1. 取消按钮按下时的虚线框:在HTML中,可以为提交按钮设置`hideFocus`属性为`true`,以避免在按钮被点击时出现虚线边框。例如:
```html
<input type="submit" value="提交" hidefocus="true" />
```
2. 只读文本框内容:要使文本框内容不可编辑,可以设置`readonly`属性为`readonly`。例如:
```html
<input type="text" readonly />
```
3. 防止退后清空的TEXT文档:对于文本框,可以通过CSS样式`behavior:url(#default#savehistory)`来保存历史记录,防止用户回退时内容被清除。例如:
```html
<input type="text" style="behavior:url(#default#savehistory);" />
```
请注意,这种方法可能在某些浏览器中不支持。
4. ENTER键让光标移到下一个输入框:可以监听`onkeydown`事件,当用户按下ENTER键时,将键盘事件的keyCode改为9(Tab键的keyCode),实现光标移动。例如:
```html
<input type="text" onkeydown="if(event.keyCode==13) event.keyCode=9" />
```
5. 限制输入为中文:通过监听`onkeyup`事件,用正则表达式替换非中文字符。例如:
```html
<input type="text" onkeyup="value=value.replace(/[-~]/g,'')" onkeydown="if(event.keyCode==13) event.keyCode=9" />
```
6. 限制输入为数字:同样监听`onkeyup`事件,用正则表达式替换非数字字符,并处理`onbeforepaste`事件以阻止粘贴非数字内容。例如:
```html
<input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[^\d]/g,''))" />
```
7. 无闪烁限制输入为数字:使用`ime-mode: disabled`禁用输入法,结合`onkeydown`事件阻止非数字键的输入。例如:
```html
<input type="text" style="ime-mode: disabled" onkeydown="if(event.keyCode==13) event.keyCode=9" onkeypress="if((event.keyCode<48||event.keyCode>57)) event.returnValue=false" />
```
8. 限制输入英文和数字:监听`onkeyup`事件,用正则表达式替换非英文和数字字符。例如:
```html
<input type="text" onkeyup="value=value.replace(/[\W]/g,'')" onbeforepaste="clipboardData.setData('text', clipboardData.getData('text').replace(/[^\d]/g,''))" />
```
9. 屏蔽输入法:为文本框设置`ime-mode: disabled`,以阻止输入法打开。例如:
```html
<input type="text" name="url" style="ime-mode: disabled" onkeydown="..." />
```
这些方法提供了不同的input输入控制策略,可以根据实际需求组合使用,以实现更精细的用户输入验证和管理。在实际应用中,还应注意兼容性问题,确保在不同浏览器环境下都能正常工作。同时,为了提高用户体验,可以配合错误提示信息,引导用户正确输入。
相关推荐








l723723
- 粉丝: 0
最新资源
- 侠客密码查看器:网页密码轻松查看
- 《谭浩强C程序设计实验教程》深度解读与实践指南
- 计算机网络期末考试必备资料与试卷分享
- B/S架构下的在线选课系统实现与实践
- 易语言钩子教程:深入学习与实践
- 《JavaScript中文手册》详尽资源分享指南
- VC实现视频捕捉:数字图像处理入门材料
- Spring 2.5中文API文档解析与下载指南
- 使用PHP和MySQL构建Web数据库应用
- Windows系统缺失的fxscom.dll文件重要性及用途解析
- MPlayer:功能全面的命令行视频音频播放器
- WinFormsUI DockPanel源码及DEMO使用教程
- AJAX图片加载动画集锦:提升用户体验
- Java基础与Web开发入门教程:200列及Struts实践
- Matlab实现DSSCDMA通信系统仿真的完整源代码
- 基于ATmega128实现波形频谱显示的FFT算法研究
- 掌握压缩解压利器:zlib123-dll.zip的功能与应用
- 步进电机控制技术及LCD显示实现
- Eclipse环境下的Class文件反编译技巧指南
- 全方位硬件监控:CPU & 硬盘温度测试软件解析
- 软件工程文档模版大全:需求到设计完整指南
- Cypress EZ-USB FX2 GPIF原生教程及固件代码
- .net2.0新组件:aspxTreeList控件特性与应用
- 计算机网络核心课程课件:从基础到安全