Regex测试未通过[重复]

jtoj6r0c  于 2023-08-08  发布在  其他
关注(0)|答案(1)|浏览(100)

此问题在此处已有答案

Regex to match only letters(21个回答)
上个月关门了。
我测试的值是:第一个月
hasValidFormat在我期望它返回true时一直返回false。

export function isValidValue(value: unknown): value is Value {
  if (typeof value !== 'string') {
    return false;
  }

  const validPrefixes = Object.values(ValidPrefix);
  
  const hasValidPrefix = validPrefixes.some(prefix => value.startsWith(prefix));
  const hasValidFormat = /^[\w]+:[0-9a-f]{26}$/.test(value);

  // Add console logs for debugging
  console.log('the value is:', value);
  console.log('hasValidPrefix:', hasValidPrefix);
  console.log('hasValidFormat:', hasValidFormat);

  return hasValidPrefix && hasValidFormat;
}

// Valid Prefix
export enum ValidPrefix {
  PREFIXA = 'prefixa',
  PREFIXB = 'prefixa'
}

字符串

8i9zcol2

8i9zcol21#

您将正则表达式限制为只允许字符a、B、c、d、e和f。您正在评估的值包含大于f的字母,它应该是:

/^[\w]+:[0-9a-z]{26}$/

字符串

相关问题