【问题标题】:Javascript regex date format dd/mm/yyJavascript 正则表达式日期格式 dd/mm/yy
【发布时间】:2016-04-27 20:05:07
【问题描述】:

我是正则表达式的初学者。 我需要 dd/mm/yy 格式的 javascript 日期;我有这个正则表达式有日期:

var myDate = new Date().toLocaleDateString().replace(/\b(\d\/)/g, '0$1');

我需要将上面的正则表达式更改为只有两位数的年份,例如:27/04/16

【问题讨论】:

  • 添加.replace(/\d{2}(\d{2})/, "$1")替换。
  • 感谢 Wiktor Stribiżew,但使用您建议的正则表达式,月份以一位数表示:27/4/16
  • 是吗? var myDate = new Date().toLocaleDateString().replace(/\b(\d\/)/g, '0$1').replace(/\d{2}(\d{2})/, "$1");?
  • 你是对的!!有用!!非常感谢!!
  • toLocaleDateString() 应与区域设置参数一起使用,例如“en_US”,如果需要特定的字符串格式,否则将返回用户区域设置的默认格式。

标签: javascript regex date


【解决方案1】:

第二次替换就可以了:

var myDate = new Date()
    .toLocaleDateString()
    .replace(/(\d+)/g, "0$1")
    .replace(/\d+(\d{2})/g,"$1");

我已经从第一次替换中删除了\b,因为只抓取数字就足够了。此替换只是用前导 0 填充所有数字。第二个替换会将每个数字修剪为仅 2 个最低有效数字。

【讨论】:

  • 会的。我想知道你是否可以证明这一点。但是,这不是最佳模式。
  • 我看到我的答案和你的差不多,但我选择了+,而不是具体的{2}。 “证明”是什么意思?第一个替换为所有数字添加一个 0,第二个替换将它们全部修剪为最低有效 2 位。您还需要在上面的评论中添加全局开关。
  • 全局开关是多余的:日期字符串中有多少年? \d+ 匹配它可以匹配的所有数字并开始 回溯 - 它效率低下。但这并不重要,因为输入字符串非常小。我的妻子终于完成了网上购物,但答案已经被接受。当我们处理正则表达式并获得支持时,仅代码的答案没有帮助,您最好解释一下您的模式在做什么。
  • 注明。下次我会展示我的作品。我更喜欢更一般的匹配,因为我希望用户能打破一切。在这种情况下,由于输入来自 JS,因此可能有点矫枉过正,但即便如此,我也不熟悉所有语言环境中的每种日期字符串格式。
【解决方案2】:

试试

function addPadding(digit)
{
    return (digit < 10) ? '0' + String(digit) : digit;
}
var date = new Date();
dateString = addPadding(date.getDate()) + "/" + addPadding((date.getMonth() + 1)) + "/" +date.getFullYear().toString().substr(2,2);
console.log(dateString);

【讨论】:

  • getDate() 和 getMonth() 将返回单个数字,对于
  • 我已经编辑了我的答案
【解决方案3】:

对 Vishnu Ravi 帖子的小修正:

var date = new Date();
var day = date.getDate() < 10 ? "0" + (date.getDate()) : date.getDate();
var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : (date.getMonth() + 1);
var year = date.getFullYear().toString().substr(2,2);
var dateString = day  + "/" + month + "/" + year;
console.log(dateString);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2022-01-04
    • 1970-01-01
    • 2017-07-10
    相关资源
    最近更新 更多