【问题标题】:Regular expression to validate text field format "WI-XXXX-XXXX"验证文本字段格式“WI-XXXX-XXXX”的正则表达式
【发布时间】:2015-02-16 00:07:49
【问题描述】:

我想使用 Jquery 正则表达式验证 WI 文本字段的文本框, 文本格式, “WI-YYYY-XXXX” 在上述格式中,先是“WI”,后跟四位数年份(2000-2100),之后是 1 到 9999 范围内的任意四位数。全部用连字符“-”分隔。

示例 - WI-2014-65 WI-2015-786 WI-2002-6752 WI-2019-4

请帮助我验证此文本格式。

【问题讨论】:

  • 这与jQuery无关。它只是普通的 JavaScript
  • Stack Overflow 真的很重视如果你首先努力解决你的问题;我建议您尝试自己解决问题(也许通过谷歌搜索一些正则表达式教程),然后再提出更具体的问题。

标签: javascript regex validation


【解决方案1】:

你可以使用这个模式^WI-[0-9]{0,4}-[0-9]{0,4}$;

例子:

var str = "WI-2014-6005"
str.match(/^WI-[0-9]{0,4}-[0-9]{0,4}$/);

【讨论】:

    【解决方案2】:

    正则表达式是:

    /^WI-(?:20[0-9]{2}|2100)-[1-9][0-9]{0,3}$/
    

    这个正则表达式允许在年份之后任意数量的-nnn

    /^WI-(?:20[0-9]{2}|2100)(?:-\d+)+$/
    

    【讨论】:

    • 如何将此表达式转换为 WI-2014-65-1、WI-2015-798-3、WI-2002-6752、WI-2019-4 等文本。
    • /^WI-2(?:100|0[0-9][0-9])-[0-9]{0,4}(-\d+)+$/;我试过了,但没有进展。
    • Salman,它不会允许像 WI-XXXX-XXX 这样的值它只考虑像 WI-XXXX-XXX-XX 这样的值,它应该允许两种格式。
    • 你检查了吗? /^WI-(?:20[0-9]{2}|2100)(?:-\d+)+$/.test("WI-2000-123") // true/^WI-(?:20[0-9]{2}|2100)(?:-\d+)+$/.test("WI-2000-123-45") // true
    • 感谢您的努力。工作正常:-)
    猜你喜欢
    • 2020-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 2017-03-25
    • 2019-08-25
    相关资源
    最近更新 更多