You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中带特定前缀且满足长度要求的正则匹配问题

JavaScript输入验证正则(带长度限制)

两种长度限制方案

方案1:总输入长度至少50字符

前缀--NAME--本身占8个字符,总长度≥50意味着前缀后的内容至少需要42个字符。正则表达式如下:

// 匹配以--NAME--开头,且总长度≥50的任意内容(含换行)
const totalLengthRegex = /^--NAME--.{42,}$/s;
  • {42,}:前缀后至少42个字符,加上前缀的8个,总长度刚好≥50
  • s修饰符:让.能匹配换行符(不需要匹配换行可去掉)
  • 兼容旧环境写法(不支持s修饰符):
const totalLengthRegex = /^--NAME--[\s\S]{42,}$/;

方案2:前缀后的后缀长度至少50字符

只要求前缀之后的内容长度≥50,不管总长度,正则表达式如下:

// 匹配以--NAME--开头,且后缀内容≥50的任意内容(含换行)
const suffixLengthRegex = /^--NAME--.{50,}$/s;
  • 不需要匹配换行的话去掉s,用[\s\S]代替.即可。

使用示例

// 测试总长度符合的输入
const validTotalInput = "--NAME--这是一段长度足够的测试内容,用来验证总长度超过50字符的情况,确保正则能正确匹配";
console.log(totalLengthRegex.test(validTotalInput)); // true

// 测试后缀长度符合的输入
const validSuffixInput = "--NAME--abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"; // 刚好50个后缀字符
console.log(suffixLengthRegex.test(validSuffixInput)); // true

// 测试不符合的输入
const invalidInput = "--NAME--短内容";
console.log(totalLengthRegex.test(invalidInput)); // false
console.log(suffixLengthRegex.test(invalidInput)); // false

内容的提问来源于stack exchange,提问作者Rasheed kotoor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 17:25:26