Javascript:短时间表示法

时间:2015-07-09 14:53:35

标签: javascript jquery time shortcuts notation

目前,我参与制定了一项计划申请。在此应用程序中,我们希望确保用户能够非常快速地插入时间。所以这是我的计划(见下面的JSfiddle链接):

我希望我的用户点击其中一个空表单元格并显示一个文本字段,用户可以填写2个时间标记,一个来自,一个直到。用户按下回车键后,时间将保存为与文本字段出现位置相同的div。这部分已经在你的小提琴中看到了:

https://jsfiddle.net/rhantink/jm294oLk/3/

var tableFunctions = {


"createTimeBox": function () {
    var timeBox = document.createElement("input");
    $(timeBox).addClass("timeBox");
    $(timeBox).attr('type', 'text');
    $(timeBox).keypress(function (e) {
        if (e.which == 13) {
            var timeEntry = tableFunctions.createTimeEntry($(this).val());
            $(".timeBox").replaceWith(timeEntry);

            console.log(this);
        }
    });
    return timeBox;

},

    "createTimeEntry": function (textEntry) {
    var timeEntry = document.createElement("div");
    $(timeEntry).addClass("timeEntry");
    $(timeEntry).text(textEntry);

    return timeEntry;
}

}




var scheduler = {
    "Applicatie": 'HRM2.0',

        "init": function () {
        console.log('Init');

        $(".day").click(function () {

            $('.timeBox').remove();
        var timeBox = tableFunctions.createTimeBox();
        $(this).append(timeBox);
        $(timeBox).focus();



        })
    }

}


$(document).ready(

scheduler.init()

)

然而......用户需要能够输入' 12-16'或者' 1200-1600'然后按Enter键。使用javascript我想做一个翻译,它会让时间出现在div中,如12:00-16:00和#39;后来我也希望他们输入' 9-17c'在哪里' c'代表当然,这意味着他们在某个课程中使用了那个时间窗口。 我的问题是: 有没有任何javascript框架可以让这更容易,或者是否有人可以指出我正确的方向开发这样的东西?

也可以随意评论我的编码。

谢谢,

罗伯特

1 个答案:

答案 0 :(得分:1)

您应该使用Regular Expressions。您可以测试用户使用特定模式编写的内容,如果匹配,您可以进行翻译。

例如测试'12 -16'字符串:

if(/([0-9]{2})-([0-9]{2})/.test($('#inputID').val()))
  //do your thing

这是关于正则表达式的小fiddle