javascript - 正则表达式中字符的最小长度

标签 javascript regex

我有以下正则表达式:^([0-9]{1,4}(\-?)){3}[0-9]{1,4}$

实际上,它匹配1234

我想强制只匹配 6 个或更多数字(即不包括破折号),例如。 1234 12 或 12 1 123 或 1 1 123 1 或 1-12-12-2222 或 1-123 2 2 等

有没有简单的方法可以做到这一点?

最佳答案

您可以将此正则表达式与前瞻性一起使用以断言至少存在 6 位数字:

/^(?=(?:\D*\d){6})(?:\d{1,4}[ -]?){3}\d{1,4}$/gm

RegEx Demo

这里 (?=(?:\D*\d){6}) 是一个积极的前瞻,当至少有 6 个数字且中间有 0 个或多个非数字时断言为真.

关于javascript - 正则表达式中字符的最小长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51426063/

相关文章:

javascript - 在 IE 中关闭 Iframe 时出错

javascript - 如何在 d3 图表中定位图例

c# - 如何在 C# 正则表达式中获取捕获组的名称?

regex - Java中根据RFC 1035标准检查域名

javascript - String.replace 的转义 $ 符号

javascript - JsHint W083 不要在循环中创建函数和 jQuery 的 $.each() 函数

javascript - 这些正则表达式之间有什么区别

php - 用逗号和换行符在 php 中拆分字符串

javascript - 如何使用javascript中的正则表达式替换cookie字符串中的cookie值

javascript - 获取 Google 电子表格的上次更新日期作为 JSON 端点