【问题标题】:Date Regular Expression日期正则表达式
【发布时间】:2009-09-21 23:47:58
【问题描述】:

我正在使用日期字段检查器,但我想将正则表达式从 DD-MM-YYYY 更改为 DD/MM/YYYY,但我似乎无法让它工作..

这是代码的sn-p:

"date": {
  "regex": "/^[0-9]{1,2}\-\[0-9]{1,2}\-\[0-9]{4}$/",
  "alertText": "* Invalid date, must be in DD/MM/YYYY format"
},

我确定这很简单,但我对正则表达式一无所知。我试过了:

/^[0-9]{1,2}\/\[0-9]{1,2}\/\[0-9]{4}$/

/^[0-9]{1,2}\\/\\[0-9]{1,2}\\/\\[0-9]{4}$/

但它们都不适合我..

【问题讨论】:

  • 你确定你是从一个已知的好点开始的吗?看起来您的原始正则表达式似乎与 DD-MM-YYYY 不匹配,因为那里有很多额外的反斜杠。
  • @SoulieBaby - 由于您在客户端上进行验证,您是否考虑过不需要用户输入一整天字符串而只需输入没有分隔符的单个组件的界面?跨度>
  • 我不确定哈哈,我对整个正则表达式的事情了解不多。可能不得不放弃这个想法并改用日期选择器。:/

标签: javascript jquery regex


【解决方案1】:
o = 

{

    "date": {
      "regex": /^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$/,
      "alertText": "* Invalid date, must be in DD/MM/YYYY format"
    }

}

o.date['regex'].test('02/12/2008')//true
o.date['regex'].test('2009-02-02')// false
o.date['regex'].test('03-04-2009')// false

【讨论】:

  • 请提供更多信息 - 比如 .. 你尝试了什么?您是自己尝试了我的代码还是尝试将其嵌入到您的应用程序中?愚蠢的问题,但为什么你的正则表达式用引号括起来?正则表达式文字不需要用引号括起来,除非您使用新的 RegExp 动态创建它。
  • 它们都用引号括起来,它使用的是 jquery.validationEngine.js
【解决方案2】:

或者:

/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/

或完整的长表格,这可能有助于您了解发生了什么:

/^[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9]$/

这假设您希望正好 DD 和 MM 两位数,YYYY 正好四位。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-11
    • 2012-10-09
    • 2012-06-20
    相关资源
    最近更新 更多