0

我在一个健康网站上工作。

我有一个名为 Last Menstrual Period 的字段,它是一个文本框,必须由医生以 YYYY-MM-DD 的格式填写。

我想要做的是,我必须在医生将输入的 LMP 日期中添加 281 天,以生成预期分娩日期(孩子出生)

所以我需要做以下事情:

  1. 输入的日期格式应为 YYYY-MM-DD

  2. 它应该是一个有效日期,即注意闰年和无效日期,如 2013-02-31 等。

  3. 生成预期交货日期(基于输入的 LMP)后,应显示在屏幕上。

  4. 在 LMP 文本框中输入日期后,应立即执行这些验证,并且预期交货日期会显示在 LMP 文本框下方的标签内

我怎样才能做到这一点?这是我到目前为止所尝试的。

// Calculate Expected Date Of Delivery
$('#lmp_date').change(function()
{
    var lmp_entered = $this.val();

    if(lmp_entered)
    {
        // $('#edd').html('1');
    }
    else
    {
        // $('#edd').html('Please enter last menstrual date to calculate EDD');

请帮助我如何实现这些验证并使用 jquery 显示日期。我是 jquery 的新手,所以不太了解它。任何小的帮助将不胜感激。

4

1 回答 1

1

对于验证,我不建议使用另一个库,尤其是对于这样一个简单的规则。如果规则如此严格,只需编写您自己的规则并在站点范围内使用它。

例如,阻止非数字条目到文本框,并在您的代码中每隔 5 个和第 9 个字符添加破折号“-”。

然后验证检查文本和虚线的长度,split用于获取年份。月和日分别转换为日期,Date(txtYear,txtMonth,txtDay)如果您的日期的年、月和日等于您的 txt 年、月和日,则表示它是有效日期。之后使用以下计算出生日期。

只需使用 Date 构造函数,如下所示

var delDate = new Date(year, month, day + 281)

只是不要忘记 JS 中的月份从 0 开始,所以 Jan = 0,Feb = 1 等等。

于 2013-06-13T16:50:26.440 回答