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

如何使用字符串插值并创建带点分隔符数字的验证函数?

验证带点分隔符数字的函数实现

明确规则

先把要求的验证规则梳理清楚:

  • 字符串不能以点(.)开头或结尾
  • 点分隔的每个数字段必须满足:
    • 是1-3位的纯数字
    • 若数字段长度大于1位,不能以0开头(禁止前置零)
    • 不能出现空的数字段(即不能有连续的点)

函数实现(JavaScript)

用正则表达式可以高效实现这类格式验证,以下是具体函数:

function validateDotSeparatedNumber(str) {
  // 正则匹配符合规则的带点分隔数字
  const validPattern = /^(([1-9]\d{0,2})|0)(\.([1-9]\d{0,2})|0)*$/;
  return validPattern.test(str);
}

正则表达式解释

拆解正则的各个部分:

  • ^:匹配字符串起始位置,确保没有前置的非法字符
  • ([1-9]\d{0,2})|0:匹配单个合法数字段:
    • [1-9]\d{0,2}:匹配1-3位数字,第一位非0(避免多位数前置零)
    • |0:允许单个0作为独立的合法段
  • (\.([1-9]\d{0,2})|0)*:匹配后续的「点+合法数字段」组合,*表示可以有0个或多个这样的组合(支持单个数字段的情况)
  • $:匹配字符串结束位置,确保没有后置的非法字符

测试示例

把给出的测试用例代入函数,结果如下:

// 通过的情况
console.log(validateDotSeparatedNumber('100.000.002.333')); // true
console.log(validateDotSeparatedNumber('10')); // true
console.log(validateDotSeparatedNumber('20')); // true
console.log(validateDotSeparatedNumber('100')); // true

// 错误的情况
console.log(validateDotSeparatedNumber('0100.000')); // false
console.log(validateDotSeparatedNumber('1000')); // false
console.log(validateDotSeparatedNumber('000.000')); // false
console.log(validateDotSeparatedNumber('100.000.')); // false
console.log(validateDotSeparatedNumber('100.00.000')); // false
console.log(validateDotSeparatedNumber('.100.00.000')); // false

关于字符串插值的使用

如果要在字符串中插入这类带点分隔的数字,先通过上面的函数验证格式合法性,再用模板字符串(字符串插值)直接嵌入即可,示例:

const inputNum = '100.000.002.333';
if (validateDotSeparatedNumber(inputNum)) {
  const resultStr = `已确认数字 ${inputNum} 格式合法`;
  console.log(resultStr);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:37:55