jQuery“拆分”选项?

时间:2015-12-04 18:23:53

标签: javascript jquery

我使用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>

有没有办法以不同的方式分裂?例如,第一个“/”,如果不存在“,”如果不存在“:”?或者这是一种不好的方式?

3 个答案:

答案 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"]