我需要拆分代表日期的字符串。此日期以dd/mm/yyyy
或dd-mm-yyyy
的形式表示。
我的代码是(当前字符串是mm/dd/yyyy
中的格式):
<input type="data" id="dat">
.....
var dataString=$('#dat').val();
dataString=dataString.split('/ -');
//now I can try to print years so
console.log(dataString[2]);
程序打印我&#34; undefined&#34;。任何人都可以帮助pe?
答案 0 :(得分:0)
因为数组dataString的第一个索引是0
所以代码应该是:
dataString=dataString.split('/ -');
//now I can try to print years so
console.log(dataString[1]);
注意数组的索引是1而不是2;)
答案 1 :(得分:0)
我认为你的分割方法应如下所示:
dataString=dataString.split('/');
<input type="data" id="dat">
.....
var dataString=$('#dat').val();
dataString=dataString.split('/ **-**'); - without this
//now I can try to print years so
console.log(dataString[2]);
答案 2 :(得分:0)
试试这个,它适用于这两种格式。首先,我用'/'替换' - ',以便我们以相同的格式(dd / mm / yyyy)获得日期,然后拆分。
$(function(){
var dataString=$('#dat').val();
dataString=dataString.replace('-','/').split('/');
alert(dataString[2])
})
答案 3 :(得分:0)
正确拆分dd/mm/yyyy
或dd-mm-yyyy
的方法是将此RegExp用于拆分:
.split(/\/|-/g)
/
表示打开正则表达式\/
意味着由/
char分割(转义\
用于不关闭表达式。)|
表示或-
意味着由-
char。/
表示正则表达式结束g
是分割所有这些字符的选项,而不仅仅是第一个字符。所以在你的例子中:
var dataString = $('#dat').val(); // `dd/mm/yyyy` or `dd-mm-yyyy`
dataString = dataString.split(/\/|-/g); // [dd, mm, yyyy]
console.log(dataString[2]);
几个日期的正则表达式的例子:
alert("12-12-2012".split(/\/|-/g)); // [12, 12, 2012]
alert("12/12/2012".split(/\/|-/g)); // [12, 12, 2012]
alert("12-12/2012".split(/\/|-/g)); // [12, 12, 2012]
&#13;