javascript - 正则表达式匹配具有不同数字和最小长度的数字

标签 javascript .net regex regex-negation regex-group

我正在尝试编写一个正则表达式(用于验证 c# .NET Core 模型上的属性,该模型会生成 javascript 表达式)以匹配由至少两个不同数字组成且最小长度为 6 位的所有数字。

例如:

222222 - 无效

122222 - 有效

1111125 - 有效

我正在尝试以下表达式:(\d)+((?!\1)(\d)) ,如果有不同的数字,它匹配序列但是我如何将整个模式的大小限制为 {6,} ?

非常感谢

最佳答案

您可以使用

^(?=\d{6})(\d)\1*(?!\1)\d+$

regex demo

详情
  • ^ - 字符串开头
  • (?=\d{6}) - 至少 6 位
  • (\d) - 任何数字都被捕获到第 1 组
  • \1* - 在组 1
  • 中捕获的值出现零次或多次
  • (?!\1) - 下一个数字不能与第 1 组中的相同
  • \d+ - 1+位
  • $ - 字符串结束。
  • 关于javascript - 正则表达式匹配具有不同数字和最小长度的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47402863/

    相关文章:

    javascript - Cookies.set 没有设置 cookie 中的值(js-cookie)

    c# - 在后台线程上引发的 Outlook 电子邮件发送事件

    用于匹配 5 位或 9 位邮政编码的 Javascript 正则表达式

    c# - 将 XML 写入文件而不覆盖以前的数据

    c++ - 将字符串作为正则表达式模式输入传递。 (非标量误差)

    javascript - 解析大字符串以调用 Node 中的 JS 函数

    javascript - 由 var 分隔的嵌套选择失败

    javascript - 使用jquery获取动态表中的表单值

    javascript - 简单形式的 Backbone 验证问题

    .net - ASP.NET Web API(测试版)是否可以与最新的 Mono(稳定版)一起运行?