从Javascript"日期"表单中解析日期,月份和年份

Jak*_*san 1 javascript forms html5 date

我使用以下内容供用户在表单中输入日期:

<input name="name" type="date" id="id"/>
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法解析日,月和年并将它们设置为不同的变量.我试图只使用Javascript,而不是PHP.

3个变量是整数.

谢谢.

Bri*_*rth 6

您最好的选择,如果您接受输入并将其转换为日期(按部分或作为Date对象拆分),只需Date通过传递输入值来构造新对象:

var input = document.getElementById( 'id' ).value;
var d = new Date( input );

if ( !!d.valueOf() ) { // Valid date
    year = d.getFullYear();
    month = d.getMonth();
    day = d.getDate();
} else { /* Invalid date */ }
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您可以利用Date多种输入格式的处理 - 它将采用YYYY/MM/DD,YYYY-MM-DD,MM/DD/YYYY,甚至全文日期("2013年10月25日")等,而无需你编写自己的解析器.然后可以通过以下方式轻松检查有效日期!!d.valueOf():如果好,则为true,否则为false