正则表达式(Regular Expression,简称Regex)是用于匹配字符串的一种模式,广泛应用于文本处理、数据验证、搜索替换等场景。在JavaScript中,正则表达式是编程的一部分,提供了强大的字符串处理能力。以下是一些常用的正则表达式及其用途:
1. 邮箱验证:
```javascript
/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
```
这个正则表达式用于检查输入的字符串是否符合标准的电子邮件地址格式。
2. 手机号验证(中国大陆为例):
```javascript
/^1[3-9]\d{9}$/
```
这个正则表达式用于验证11位数字的中国大陆手机号码。
3. 密码强度验证(至少包含大写字母、小写字母、数字和特殊字符):
```javascript
/(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$
```
这个正则表达式确保密码至少8位,且包含数字、大小写字母和至少一个特殊字符。
4. URL验证:
```javascript
/(http|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/
```
这个正则表达式用于识别标准的URL格式。
5. IP地址验证:
```javascript
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
```
这个正则表达式用于检查IP地址的格式,允许1-255之间的数字,并且每个部分之间用点分隔。
6. 身份证号验证(18位中国大陆身份证):
```javascript
/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[\dXx]$/
```
这个正则表达式用于验证18位的中国大陆身份证号码。
7. 日期格式验证(YYYY-MM-DD):
```javascript
/^\d{4}-((0[1-9])|(1[0-2]))-(0[1-9]|[12][0-9]|3[01])$/
```
这个正则表达式用于验证“年-月-日”格式的日期。
8. 银行卡号(只考虑数字):
```javascript
/^\d{16,20}$/
```
这个正则表达式用于匹配16到20位的纯数字银行卡号。
9. 阿拉伯数字验证:
```javascript
/^\d+$/
```
这个正则表达式用于验证只包含阿拉伯数字的字符串。
10. 非空验证:
```javascript
/^\S+$/
```
这个正则表达式用于判断字符串中是否有非空白字符,用于验证输入是否为空。
以上只是正则表达式的一部分,实际上正则表达式可以构建出更复杂的匹配规则,包括但不仅限于匹配电话号码、邮政编码、货币格式等。在JavaScript中,可以利用`test()`、`match()`、`replace()`等方法与正则表达式结合,实现字符串的检测、提取和替换等功能。在进行正则表达式编写时,应考虑其可读性和效率,同时,对于复杂的需求,可能需要使用预编译的正则表达式(使用`new RegExp()`构造函数或`RegExp`对象),以提高性能。