gpt4 book ai didi

具有 20 个字符的 Javascript 正则表达式,连续超过 n 个数字

转载 作者:行者123 更新时间:2023-11-30 21:14:26 25 4
gpt4 key购买 nike

我正在尝试将两个正则表达式放在一起,但还没弄明白。

我有以下内容只匹配字母数字

^([a-zA-Z0-9_-]){1,20}$

我有以下内容来匹配连续超过 7 个数字的任何字符串

^\d{8,20}$

我如何将两者放在一起以仅允许 20 个字母数字字符,并且一行中的数字超过 7 个

最佳答案

你可以使用

/^(?=.*\d{8})[\w-]{1,20}$/

查看 regex demo

详情

  • ^ - 字符串的开始
  • (?=.*\d{8}) - 在除换行符之外的任何 0+ 个字符之后,必须有 8 个连续数字
  • [\w-]{1,20} - 1 到 20 个单词字符(字母、数字或 _)或连字符
  • $ - 字符串结尾。

JS 演示:

var ss = ["Text_with_1234567", "Text_with_12345678"];
var rx = /^(?=.*\d{8})[\w-]{1,20}$/;
for (var s of ss) {
console.log(s,"=>",rx.test(s));
}

注意:

  • 如果要确保这 8 位或更多位数字出现在字符串的开头,请删除前瞻中的 .*
  • 如果要确保数字位于末尾,请使用 (?=.*\d{8}$)

关于具有 20 个字符的 Javascript 正则表达式,连续超过 n 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45827949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com