regex 正则表达式匹配JavaScript中以字符串和特定长度为前缀任何字符

xbp102n0  于 2022-12-05  发布在  Java
关注(0)|答案(2)|浏览(105)

我需要编写一个JavaScript程序来验证输入。
要求:

  • 输入将具有特定的前缀。(例如:--名称--)
  • 在此前缀之后,可以是任何字符。(例如:--名称--任意名称_wit#-任意 *_特殊字符@#$%)
  • 总输入的最小长度(或后缀长度)应为50(例如)

我能够为前两点编写regex,但我不能包括最后一点。下面是我为前两点所做的尝试。

input.match(^--NAME--(.*)$)
djmepvbi

djmepvbi1#

使用模式/^--NAME--.{42,}$/
.{42,}-这将匹配42个或更多字符。包括前缀(--NAME--)在内的总数为50。

const regex = /^--NAME--.{42,}$/

console.log(regex.test("--NAME--C$#V"))
console.log(regex.test("--NAME--C$#Vf34F#$f3ftbalc93h34vs#$3gfsddn;yu67u4g3dfvrv34f3f3ff"))

Demo in regex101.com

i7uq4tfw

i7uq4tfw2#

可以使用lookaheadAssert来获取长度:

/^(?=.{50})--NAME--.*$/

从开始,至少50个字符,以--NAME--开头。

相关问题