gpt4 book ai didi

JavaScript - 仅使用 vanilla js 进行日期屏蔽

转载 作者:行者123 更新时间:2023-12-03 02:12:21 25 4
gpt4 key购买 nike

我被分配了一项只能使用普通 JavaScript 的任务。我什至无法直接访问 html,因为他们使用某种 iframe。

场景

当用户模糊输入时,格式化日期结束日期格式 - 月/日/年 ( 00/00/0000)

代码应格式化这些用户场景。

  1. 如果用户使用“-”分隔日期(我有),请将“-”替换为“/”

  2. 如果用户忘记在第 9 个月或第 9 天之前输入“0”表示日期或月份,则自动在日期或月份或两者前面添加“0”(例如;9/9/1999 至 09/09/1999)

  3. 如果用户仅输入 2 位数字表示年份,则代码应假定年份为 2000 年,并在年份前面添加 20(例如:9/9/15 到 09/09/2015)

如何仅使用我的 js 结构和 vanilla js 实现 2、3?请记住,我无法编辑 HTML,因此无法执行 value ="this.value"或 moment js 等操作

function execute () {
var new_date = document.getElementById('date_val').value;
var j = format(new_date);
document.getElementById('date_val').value = j;
}

function format(incoming_date) {

var d = new Date(incoming_date);
console.log('new date', d)
day = d.getDate();
month = d.getMonth() + 1;
year = d.getFullYear();
return (String(month).length == 1 ? '0' + month : month) + '/' + (String(day).length == 1 ? '0' + day : day) + '/' + year;
};
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>


</head>

<body>
date: <input type="text" id="date_val" onblur="execute()">

<!-- <script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>

<script src="./js/test.js"></script> -->
<script src="./js/test.js"></script>
</body>

</html>

最佳答案

您可以使用Javascript的Date ,这将解决您的主要 0 问题以及 - 问题,并且如果缩写年份是,它将用 20 填充日期给定。

var d = new Date('9/3/1999');
var f = new Date('1-1-2005');
var g = new Date('8/8/08');

function formatDate(d) {
day = d.getDate();
month = d.getMonth() + 1;
year = d.getFullYear();
return (String(month).length == 1 ? '0' + month : month) + '/' + (String(day).length == 1 ? '0' + day : day) + '/' + year;
}

console.log(formatDate(d));
console.log(formatDate(f));
console.log(formatDate(g));

关于JavaScript - 仅使用 vanilla js 进行日期屏蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49499934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com