我正在寻找帮助,找到一个RegEx,要求正好9个数字,但连续阻止任何超过4个重复的数字.如果输入多于或少于9个字符,则应该失败.
例子是:
我试过以下没有运气:
/^(?!.*(\d)\1{5})(\d{9})*$/
Run Code Online (Sandbox Code Playgroud)
阻止任何数字,连续5次重复:
/^(?:(\d)(?!\1{4})){9}$/
说明:
(\d) - 第一组,匹配任何数字.
\1 - 重复第一组内容.
(\d)(?!\1{4}) - 块数字,后面有4个相同的数字.
(?:(\d)(?!\1{4})){9} - 仅匹配此模式中的9个(每个仅包含一个数字)
例:
let reg = /^(?:(\d)(?!\1{4})){9}$/;
console.log(reg.test("123456789")); // -> true
console.log(reg.test("111116789")); // -> false
console.log(reg.test("12345678")); // -> false
console.log(reg.test("1234567890")); // -> false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |