209 lines
5.3 KiB
Plaintext
209 lines
5.3 KiB
Plaintext
### 常用
|
||
|
||
```
|
||
[abc] - 单个字符: a 或 b 或 c
|
||
[^abc] - a, b, c 以外的单个字符
|
||
[a-zA-Z0-9] - 字符范围: 字母或数字
|
||
. - 任意字符
|
||
\s - 空字符
|
||
\S - 非空字符
|
||
\d - 数字字符
|
||
\D - 非数字字符
|
||
\w - 单词(字母,数字,下划线)
|
||
\W - 非单词
|
||
\b - 单词边界
|
||
\B - 非单词边界
|
||
^ - 开头
|
||
$ - 结尾
|
||
(a|b) - a 或 b
|
||
a* - 重复 0 次或多次
|
||
a? - 重复 0 次或 1 次
|
||
a+ - 重复 1 次或多次
|
||
a{3} - 重复 3 次
|
||
a{3,} - 重复 3 次或多次
|
||
a{3,5} - 重复 3 到 5 次
|
||
? - 非贪婪匹配
|
||
(...) - 分组
|
||
(?:a) - 非捕获分组
|
||
a(?=b) - 正向断言
|
||
a(?!b) - 正向否定断言
|
||
(?<=b)a - 反向断言
|
||
(?<!b)a - 反向否定断言
|
||
(?<name>a) - 命名分组
|
||
\k<name> - 命名反向引用
|
||
\n - 反向引用,n 为 99 以内的十进制数字
|
||
\xhh - 十六进制 hh 字符
|
||
\uhhhh - 十六进制 hhhh 字符
|
||
\u{hhhh} - (设置了 u 标志时) 十六进制 hhhh 字符
|
||
\cX - 控制字符
|
||
\0 - 空字符
|
||
\a - alert 字符
|
||
\t - 制表符
|
||
\n - 换行符
|
||
\v - 垂直制表符
|
||
\f - 换页符
|
||
\r - 回车符
|
||
\e - escape 字符
|
||
[\b] - 退格符
|
||
|
||
```
|
||
|
||
### 用户名和密码
|
||
|
||
1. 用户名和密码格式验证:
|
||
- 正则表达式: `^[a-zA-Z]\w{5,15}$`
|
||
- 正确格式: 字母开头,6~16位包含字母、数字、下划线
|
||
|
||
### 电话号码
|
||
|
||
1. 电话号码格式验证:
|
||
- 正则表达式: `^(\d{3,4}-)\d{7,8}$`
|
||
- 正确格式: 区号-号码 或 区号号码
|
||
|
||
### 手机号码
|
||
|
||
1. 手机号码格式验证:
|
||
- 正则表达式: `^1[3|4|5|7|8][0-9]\d{8}$`
|
||
|
||
### 身份证号
|
||
|
||
1. 身份证号格式验证:
|
||
- 正则表达式: `\d{14}[[0-9],0-9xX]`
|
||
|
||
### Email地址
|
||
|
||
1. Email地址格式验证:
|
||
- 正则表达式: `^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$`
|
||
|
||
### 字符串组成
|
||
|
||
1. 数字和字母组成的字符串:
|
||
- 正则表达式: `^[A-Za-z0-9]+$`
|
||
|
||
### 数字
|
||
|
||
1. **整数或小数:**
|
||
- 正则表达式: `^[0-9]+([.][0-9]+){0,1}$`
|
||
2. **只能输入数字:**
|
||
- 正则表达式: `^[0-9]*$`
|
||
3. **n位数字:**
|
||
- 正则表达式: `^\d{n}$`
|
||
4. **至少n位数字:**
|
||
- 正则表达式: `^\d{n,}$`
|
||
5. **m~n位数字:**
|
||
- 正则表达式: `^\d{m,n}$`
|
||
6. **零和非零开头的数字:**
|
||
- 正则表达式: `^(0|[1-9][0-9]*)$`
|
||
7. **有两位小数的正实数:**
|
||
- 正则表达式: `^[0-9]+(\.[0-9]{2})?$`
|
||
8. **1~3位小数的正实数:**
|
||
- 正则表达式: `^[0-9]+(\.[0-9]{1,3})?$`
|
||
9. **非零的正整数:**
|
||
- 正则表达式: `^\+?[1-9][0-9]*$`
|
||
10. **非零的负整数:**
|
||
- 正则表达式: `^\-[1-9][0-9]*$`
|
||
|
||
### 字符串长度
|
||
|
||
1. **长度为3的字符:**
|
||
- 正则表达式: `^.{3}$`
|
||
2. **由26个英文字母组成的字符串:**
|
||
- 正则表达式: `^[A-Za-z]+$`
|
||
3. **由26个大写英文字母组成的字符串:**
|
||
- 正则表达式: `^[A-Z]+$`
|
||
4. **由26个小写英文字母组成的字符串:**
|
||
- 正则表达式: `^[a-z]+$`
|
||
|
||
### 特殊字符
|
||
|
||
1. 验证是否含有特殊字符:
|
||
- 正则表达式: `[%&',;=?$\\^]+`
|
||
|
||
### 汉字
|
||
|
||
1. 只能输入汉字:
|
||
- 正则表达式: `^[\u4e00-\u9fa5]{0,}$`
|
||
|
||
### URL
|
||
|
||
1. 验证URL:
|
||
- 正则表达式: `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$`
|
||
|
||
### 月份和日期
|
||
|
||
1. **一年的12个月:**
|
||
- 正则表达式: `^(0?[1-9]|1[0-2])$`
|
||
2. **一个月的31天:**
|
||
- 正则表达式: `^((0?[1-9])|((1|2)[0-9])|30|31)$`
|
||
3. **日期格式:**
|
||
- 正则表达式: `\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日?`
|
||
|
||
### 其他
|
||
|
||
1. **匹配双字节字符:**
|
||
- 正则表达式: `[^\x00-\xff]`
|
||
2. **匹配空白行:**
|
||
- 正则表达式: `\n\s*\r`
|
||
3. **匹配HTML标记:**
|
||
- 正则表达式: `<(\S*?)[^>]*>.*?</>|<.*? />`
|
||
4. **匹配首尾空白字符:**
|
||
- 正则表达式: `^\s*|\s*$`
|
||
5. **匹配网址URL:**
|
||
- 正则表达式: `[a-zA-z]+://[^\s]*`
|
||
6. **帐号是否合法:**
|
||
- 正则表达式: `^[a-zA-Z][a-zA-Z0-9_]{4,15}$`
|
||
7. **腾讯QQ号:**
|
||
- 正则表达式: `[1-9][0-9]{4,}`
|
||
8. **中国邮政编码:**
|
||
- 正则表达式: `[1-9]\d{5}(?!\d)`
|
||
9. **IP地址:**
|
||
- 正则表达式: `([1-9]{1,3}\.){3}[1-9]`
|
||
10. **MAC地址:**
|
||
- 正则表达式: `([A-Fa-f0-9]{2}\:){5}[A-Fa-f0-9]`
|
||
|
||
### 函数
|
||
|
||
1. **正则表达式校验函数 (IsRegu):**
|
||
|
||
```vbscript
|
||
Function IsRegu(Regu, s)
|
||
' 正则表达式校验
|
||
If Regu = "" Then
|
||
Exit Function
|
||
End If
|
||
Dim Re, Sre
|
||
Set Re = New RegExp
|
||
Re.Pattern = Regu
|
||
Sre = Re.Test(s)
|
||
If Sre = True Then
|
||
IsRegu = True
|
||
Else
|
||
IsRegu = False
|
||
End If
|
||
End Function
|
||
|
||
```
|
||
|
||
|
||
2. **验证URL:**
|
||
|
||
```javascript
|
||
function IsValidUrl(str) {
|
||
var regu = "^(https?://)"
|
||
+ "?(([0-9a-z_!~*'().&=+$%-]+:)?[0-9a-z_!~*'().&=+$%-]+@)?"
|
||
+ "(([0-9]{1,3}\.){3}[0-9]{1,3}"
|
||
+ "|"
|
||
+ "([0-9a-z_!~*'()-]+\.)*"
|
||
+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\."
|
||
+ "[a-z]{2,6})"
|
||
+ "(:[0-9]{1,4})?"
|
||
+ "((/?)|"
|
||
+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
|
||
var re = new RegExp(regu);
|
||
if (!re.test(str)) {
|
||
return false;
|
||
}
|
||
return true;
|
||
}
|
||
|
||
``` |