我使用jQuery对某些日期进行排序。
这就是html div:
<div class="the_date">30/11/2015, 19:24</div>
这是jQuery的一部分:
var date1 = $(a).find(".the_date").text();
date1 = date1.split('/');
date1 = new Date(date1[2], date1[1] - 1, date1[0], date1[3], date1[4]);
我的问题:只有当日期看起来像这样时才会有效(因为分割选项):
<div class="the_date">30/11/2015/19/24</div>
有没有办法以不同的方式分裂?例如,第一个“/”,如果不存在“,”如果不存在“:”?或者这是一种不好的方式?
答案 0 :(得分:3)
不要担心匹配所有不同的分隔符。只需将这些数字与regular expression \d+
匹配:
"30/11/2015, 19:24".match(/\d+/g).map(Number);
注意:不需要.map(Number)
,这只是将字符串数组转换为数字的简洁方法。
结果:[30, 11, 2015, 19, 24]
结果不包括:["30", "11", "2015", "19", "24"]
答案 1 :(得分:1)
date1 = date1.split(/\/|,|:/g);
答案 2 :(得分:-1)
split
方法接受正则表达式作为要拆分的参数。
以下是一些例子:
var str = '30/11/2015, 19:24';
var parts = str.split(/[\/,: ]+/); // split by a specific set of characters
console.log(parts);
// ["30", "11", "2015", "19", "24"]
var str = '30/11/2015, 19:24';
var parts = str.split(/\D+/); // split by all non-digit characters
console.log(parts);
// ["30", "11", "2015", "19", "24"]