JavaScript正则表达式完全指南
需积分: 9 21 浏览量
更新于2024-09-14
收藏 17KB TXT 举报
"正则表达式用法大全"
在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,常用于字符串匹配、搜索、替换等操作。本资源主要聚焦于JavaScript中的正则表达式用法,适用于HTML校验等场景。下面将详细介绍一些常见的正则表达式模式及其含义:
1. 数字匹配:
- `^[0-9]*$`:匹配任意数量的数字,允许为空。
- `^\d{n}$`:匹配恰好n个数字。
- `^\d{n,}$`:匹配至少n个数字。
- `^\d{m,n}$`:匹配m到n个数字。
2. 非负整数匹配:
- `^(0|[1-9][0-9]*)$`:匹配非负整数,包括0。
3. 金额格式:
- `^[0-9]+(.[0-9]{2})?$`:匹配带有两位小数的金额,允许整数部分为空。
- `^[0-9]+(.[0-9]{1,3})?$`:匹配带有1到3位小数的金额,允许整数部分为空。
4. 电话号码:
- `^\+?[1-9][0-9]*$`:匹配国际格式的电话号码,允许加号开头。
- `^\-[1-9]\d*$`:匹配负号开头的数字序列。
5. 字符串长度限制:
- `^.{3}$`:匹配长度为3的字符串。
- `[A-Za-z]{26}$`:匹配长度为26且全由大写字母组成的字符串。
- `[A-Z]{26}$`:匹配长度为26且全由大写字母组成的字符串。
- `[a-z]{26}$`:匹配长度为26且全由小写字母组成的字符串。
- `[A-Za-z0-9]{26}$`:匹配长度为26且由大小写字母和数字组成的字符串。
- `\w{26}$`:与上同义,\w是字母数字下划线的通配符。
6. 邮箱地址:
- `^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$`:匹配标准格式的邮箱地址。
7. Internet URL:
- `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$`:匹配以http://开头的有效URL。
8. 身份证号码:
- `^\d{15}|\d{18}$`:匹配15位或18位的身份证号码。
9. 月份日期:
- `^(0?[1-9]|1[0-2])$`:匹配1到12的月份,允许前导零。
- `^((0?[1-9])|((1|2)[0-9])|30|31)$`:匹配1到31的日期,允许前导零。
10. 邮政编码:
- `^[\u4e00-\u9fa5]{0,}$`:匹配中文字符组成的邮政编码。
11. 手机号码:
- `^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$`:匹配多种格式的中国手机号码。
此外,正则表达式还可以用来去除特殊字符、空格等,例如:
- `/[\s|]*\r/g`:去除字符串中的换行和空格。
- `/<[^>]*>/g`:去除HTML标签。
- `/(.)\1+/g`:查找重复的字符并替换。
在JavaScript中,可以使用`replace()`函数结合正则表达式进行字符串替换,如示例所示:
```javascript
var s = "http://hi.baidu.com/accpandsvse";
s = s.replace(/(.*\/){0,}([^\.]+).*/ig, "$2");
alert(s);
```
这段代码会提取URL中的最后部分域名。
正则表达式是开发人员不可或缺的工具,掌握其用法能极大地提升处理文本数据的效率。通过学习和实践这些例子,你可以更好地理解和应用正则表达式,解决实际项目中的各种文本处理问题。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2008-12-25 上传
2019-08-13 上传
186 浏览量
2014-01-20 上传
2023-05-14 上传
2020-12-13 上传
smilili
- 粉丝: 26
- 资源: 25
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析