如何使用jQuery使用正则表达式解析内容?

时间:2009-06-15 19:27:18

标签: javascript jquery regex

我正在尝试使用jQuery将正确的提升和赤字数据分别从字符串(小时,分钟和秒)和(度,弧 - 分和弧 - 秒)中分离出来并将它们存储在变量中作为数字。例如:

$dec = "-35:48:00" -> $dec_d = -35, $dec_m = 48, $dec_s = 00

实际上,数据驻留在表格中的单元格(具有特定类(“ra”))中。 目前,我已经走到了这一步:

var $dec = $(this).find(".ra").html();

这给了我作为字符串的偏差,但我无法弄清楚如何解析该字符串。 我想出了正则表达式(-|)+\d+(这让我从-35:48:00得到-35)来得到第一部分。如何将其与上面的代码结合使用?

2 个答案:

答案 0 :(得分:4)

这应该这样做:

var dec = '-35:48:00';
var parts = dec.split(':');

parts[0]将为-35parts[1]48parts[2]00

如果你想要整数字符串,你可以通过parseInt(parts[x], 0)全部运行它们:

var dec_d = parseInt(parts[0], 10);
var dec_m = parseInt(parts[1], 10);
var dec_s = parseInt(parts[2], 10);

我应该指出这与jQuery无关并且是一个Javascript问题(至少从HTML文档中获取值) - 通常使用$为变量添加前缀的做法通常是完成以表示该变量包含jQuery集合。因为在这种情况下它包含HTML,所以它有点误导

答案 1 :(得分:1)

使用String.match()

$dec = "-35:48:00";
matches = $dec.match(/-*[0-9]+/g);
for (i=0;i<matches.length;i++){
  alert(matches[i]);
}