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

如何编写符合要求的年份验证JavaScript正则表达式?

JavaScript 年份验证正则表达式解决方案

针对你的需求,修正后的正则表达式可以精准匹配有效年份,同时排除所有无效格式:

const yearRegex = /^(?:-[1-9]\d*|[1-9]\d*(?:\s*(?:AD|BC))?)$/;

正则规则说明

  • ^ 和 $:强制匹配整个字符串,避免部分匹配(比如不会误匹配包含有效年份的长文本)
  • -[1-9]\d*:匹配负数年份,要求负号后必须跟至少一个非零数字,直接排除 -0 这类无效格式
  • |:分支选择,分隔两种合法格式
  • [1-9]\d*:匹配非零正整数(不带纪元标识的情况)
  • (?:\s*(?:AD|BC))?:可选的纪元标识部分:
    • \s*:允许年份和纪元标识之间有任意数量的空格(包括无空格)
    • (?:AD|BC):匹配 AD 或 BC 纪元标识
    • ?:表示纪元标识是可选的,但仅允许正整数搭配纪元标识(负数不能带AD/BC)

验证示例

  • 有效匹配:2023、300、-1、40AD、40 AD、3000 BC、200BC
  • 无效匹配(会被排除):-200AD、-700BC、0BC、0AD、-0、-0BC、-0AD

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 13:43:31