如何阻止包含特定字符和特定长度的字符串。?
How to block a string containing specific characters and of specific length.?
如何阻止在字符串中使用 5 个连续元音 (a,e,i,o,u) 并只允许使用一个连字符 (-)?
它不应该允许连续元音,即使它是大写 (AEIOU),也不允许连续形式的大写和小写,如 AeiOU、aEIou、eeeee、AoEEU、uuuaa、iiiOU 等。它不应该允许使用 5 个连续元音, 不允许使用数字,也不允许使用连字符以外的特殊字符。
现在我正在使用这样的东西,
/^(?![Aa][Ee][Ii][Oo][Uu])[a-zA-z\u00BF-\u1FFF\u2C00-\uD7FF]*-[a-zA-z\u00BF-\u1FFF\u2C00-\uD7FF]*$/
它只阻止 AEIOU、Aeiou、aeiou 等连续元音
您可以使用
^(?!.*[AaEeIiOoUu]{5})[a-zA-Z\u00BF-\u1FFF\u2C00-\uD7FF]*(?:-[a-zA-Z\u00BF-\u1FFF\u2C00-\uD7FF]*)?$
详情
^
- 字符串开头
(?!.*[AaEeIiOoUu]{5})
- 字符串中没有任何 5 个连续的元音
[a-zA-Z\u00BF-\u1FFF\u2C00-\uD7FF]*
- 定义范围内的 0 个或更多字符
(?:
- optional 非捕获组匹配 1 或 0 序列的开始
-
- 一个连字符
[a-zA-Z\u00BF-\u1FFF\u2C00-\uD7FF]*
- 定义范围内的 0 个或更多字符
)?
- 非捕获组结束
$
- 字符串结尾
如何阻止在字符串中使用 5 个连续元音 (a,e,i,o,u) 并只允许使用一个连字符 (-)? 它不应该允许连续元音,即使它是大写 (AEIOU),也不允许连续形式的大写和小写,如 AeiOU、aEIou、eeeee、AoEEU、uuuaa、iiiOU 等。它不应该允许使用 5 个连续元音, 不允许使用数字,也不允许使用连字符以外的特殊字符。 现在我正在使用这样的东西,
/^(?![Aa][Ee][Ii][Oo][Uu])[a-zA-z\u00BF-\u1FFF\u2C00-\uD7FF]*-[a-zA-z\u00BF-\u1FFF\u2C00-\uD7FF]*$/
它只阻止 AEIOU、Aeiou、aeiou 等连续元音
您可以使用
^(?!.*[AaEeIiOoUu]{5})[a-zA-Z\u00BF-\u1FFF\u2C00-\uD7FF]*(?:-[a-zA-Z\u00BF-\u1FFF\u2C00-\uD7FF]*)?$
详情
^
- 字符串开头(?!.*[AaEeIiOoUu]{5})
- 字符串中没有任何 5 个连续的元音[a-zA-Z\u00BF-\u1FFF\u2C00-\uD7FF]*
- 定义范围内的 0 个或更多字符(?:
- optional 非捕获组匹配 1 或 0 序列的开始-
- 一个连字符[a-zA-Z\u00BF-\u1FFF\u2C00-\uD7FF]*
- 定义范围内的 0 个或更多字符
)?
- 非捕获组结束$
- 字符串结尾