-2
    <head>
            <title>Date</title>
            <script>

            function myFunction(){
                //Example I passed in 31-02-2013
                var timeDate = document.getElementById('date').text;

                //Get the first array and second array
                var date = { timeDate[0] , timeDate[1] };
                if( date < 1 || date > 30 )
                    alert( "Invalid date" );

            }
            </script>
    </head>
    <body>
        <p>Date : <input type="text" id="date" ></p>
        <input type="button" value=" Check it " onclick="myFunction()">
    </body>

我只是使用 c++ 概念来存储我的字符串变量的第一个数组和第二个数组。我不知道如何将数组存储在 HTML 中。有人可以教我并纠正我吗?

4

2 回答 2

0

检查输入的数字是否在 1 到 30 之间的基本示例

(function (doc) {
    var date_form = doc.getElementById('date_form'),
        date_input = doc.getElementById('date_input'),

        warnInvalid = function (e) {
            //if invalid alert and prevent form submission
            alert('invalid date');
            e.preventDefault();
        },

        verifyDate = function (e) {
            var date = date_input.value;

            //pre cheking if empty or has letters
            if (date == '' || /\D/.test(date)
                || +date < 1 || date > 30) {
                warnInvalid(e);
            }
        };

    date_form.addEventListener('submit', verifyDate, false);
})(document);

在这里检查:http: //jsfiddle.net/joplomacedo/rnBRb/

于 2013-05-12T15:49:51.163 回答
0

正如在您需要复习一些 JavaScript 基础知识的评论之一中提到的那样。

首先,您需要访问value输入元素的 :

var timeDate = document.getElementById('date').value;

这将被解释为一个字符串。您不能以数组方式访问字符。相反,您可以使用子字符串来提取您需要的字符。

一旦你有了你想要的章程,它们仍然可以被视为一个字符串,因此你的date < 1评估可能会产生一些意想不到的结果。你会想要确保你正在处理一个数值。类似parseInt的东西。

如果您知道使用的特定输入格式和分隔符,还可以使用split将日期字符串分解为数组。请注意,这将是一个字符串数组,因此请注意上面的警告。

基础演示:http: //jsfiddle.net/sdtPt/1/

于 2013-05-13T05:23:19.120 回答