JS正则表达式实现:限制输入为数字
3星 · 超过75%的资源 需积分: 50 43 浏览量
更新于2024-07-27
收藏 47KB DOC 举报
本文主要介绍如何使用JavaScript正则表达式来限制文本框(input)只能输入特定类型的数字。在网页表单中,我们常常需要对用户输入进行验证,确保数据的正确性和格式的一致性。以下是一些针对不同数字类型的正则表达式:
1. 非负整数(包括0):
```javascript
/^\d+$/
```
这个正则表达式会匹配所有非负整数,即0和所有正整数。
2. 正整数:
```javascript
/^[0-9]*[1-9][0-9]*$/
```
它会确保至少包含一个大于0的数字在数字串中。
3. 非正整数(包括负整数和0):
```javascript
/^((-\d+)|(0+))$/
```
这个正则允许输入负整数或零,但不允许正整数。
4. 负整数:
```javascript
/^-[0-9]*[1-9][0-9]*$/
```
只允许输入负整数,且至少包含一个大于0的数字。
5. 整数(包括正负整数和0):
```javascript
/^-\?\d+$/
```
允许输入正整数、负整数和0。
6. 非负浮点数(包括0):
```javascript
/^\d+(\.\d+)?$/
```
匹配所有非负浮点数,包括0和正浮点数。
7. 正浮点数:
```javascript
/^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/
```
这个正则确保至少有一个小数部分,并且小数部分不全是0。
8. 非正浮点数(包括负浮点数和0):
```javascript
/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/
```
包括负浮点数和0,不允许正浮点数。
9. 负浮点数:
```javascript
/^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/
```
只允许输入负浮点数。
10. 浮点数(包括正负整数和0):
```javascript
/^(-?\d+)(\.\d+)?$/
```
匹配所有浮点数,包括正负和0。
除此之外,正则表达式还可以用于验证其他类型的字符串:
11. 由26个英文字母组成的字符串:
```javascript
/^[A-Za-z]+$/
```
12. 由26个大写英文字母组成的字符串:
```javascript
/^[A-Z]+$/
```
13. 由26个小写英文字母组成的字符串:
```javascript
/^[a-z]+$/
```
14. 由数字和26个英文字母组成的字符串:
```javascript
/^[A-Za-z0-9]+$/
```
15. 由数字、26个英文字母或下划线组成的字符串:
```javascript
/^\w+$/
```
16. 邮箱地址的验证:
```javascript
/^[\\w-]+(\\.[\\w-]+)*@\\w-+(\\.[\\w-]+)+$/
```
17. URL的验证:
```javascript
/^[a-zA-z]+:\/\/(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$/
```
18. 仅包含字母、数字和下划线的字符串:
```javascript
/^[A-Za-z0-9_]*$/
```
在JavaScript中,可以将这些正则表达式与`test()`方法结合使用,来验证用户输入是否符合指定的格式。例如,如果你要限制用户输入非负整数,可以在输入事件中使用如下代码:
```javascript
function checkInput(event) {
const input = event.target.value;
const pattern = /^\d+$/;
if (!pattern.test(input)) {
alert('请输入非负整数');
event.preventDefault(); // 阻止默认行为,如提交表单
}
}
```
这段代码会在用户尝试输入不符合正则表达式的字符时给出提示,并阻止非法输入。将这个`checkInput`函数绑定到你的文本框元素上,即可实现输入限制。
2020-10-23 上传
点击了解资源详情
2020-10-29 上传
2020-10-28 上传
2022-01-21 上传
点击了解资源详情
2021-01-19 上传
TomCatB
- 粉丝: 0
- 资源: 1
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜