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;
|
|||
|
}
|
|||
|
|
|||
|
```
|