正则表达式
如果在表单设计器中选择“正则表达式”选项,则可以为显示的数据设置结构。
下表说明了“正则表达式”字段中可使用的更常见的字符,并为您提供了一些已执行的匹配示例。
字段 | 用途 | 示例 | 匹配 |
---|---|---|---|
^ | 匹配行首 | 这标志着您的正则表达式条目的开始 |
|
$ | 匹配行尾 | 这标志着您的正则表达式条目的结束 |
|
. | 匹配任意字符 | ^a.c$ | abc、a2c、axc |
| | OR 字符 | ^abc|xyz$ | abc 或 xyz |
[…] | 匹配括号内包含的任何内容 | ^[A-E]$ | 只能使用大写字母 A 至 E |
[^…] | 匹配括号内未包含的内容 | ^[^A-E]$ | 无法使用大写 A 到 E |
{x} | 要匹配的精确“x”次数 | ^[A-E]{2}$ | 只能使用大写字母 A 至 E,且必须至少包含 2 个字符 |
{x,y} | 匹配“x”和“y”次数 | ^[A-E]{2,4}$ | 只能使用大写 A 至 E,且必须至少包含 2 个字符且不得超过 4 个字符 |
{x,} | 匹配“x”次或更多 | ^[A-E]{2,}$ | 只能使用大写 A 到 E,并且必须包含至少 2 个字符,但总数没有限制 |
+ | 在“+”一次或多次之前匹配字符 | ^ab+c$ | 匹配 abc或abbbc |
? | 将字符匹配到“?”零或一次 | ^ab?c$ | 匹配 ac 或 abc |
! | 切换不允许的字符匹配 | ^(?!000)[0-8][0-9]{2}$ | 允许 3 位数字,介于 001 到 899 之间,特别注意不允许为 000 |
示例:国家保险号码
^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-D]{1}$
以下是此正则表达式的说明
- ^ 字符串开头
- [A-CEGHJ-PR-TW-Z]{1} 匹配第一个字母,不能是 D、F、I、Q、U 或 V
- [A-CEGHJ-NPR-TW-Z]{1}匹配第二个字母,不能是D、F、I、O、Q、U或V
- [0-9]{6} 必须为六位数字
- [A-D]{1} 匹配最后一个字母,只能是 A、B、C 或 D
- $ 字符串的末尾
这是有效的国家保险号码。
这是无效的国民保险号码。
社会保险号码示例
^(?!000|666)[0-8][0-9]{2}-(?!00)[0-9]{2}-(?!0000)[0-9]{4}$
以下是此正则表达式的说明
- ^—字符串的开头
- (?!000|666)—不允许输入 000 或 666
- [0-8][0-9]{2}—匹配 0 和 8 之间的第一个数字,以及 00 和 99 之间的下一个两位数字
- -—用户必须输入连字符作为分隔符
- (?!00)[0-9]{2}—匹配 01 和 99 之间的两位数字,特别是停止输入 00
- -—用户必须输入连字符作为分隔符
- (?!0000)[0-9]{4}—匹配 0001 和 9999 之间的四个数字,特别是阻止输入 0000
- $—字符串的结尾
这是有效的社会保险号码。
这是无效的社会保险号码。