2009-06-15 64 views
0

我試圖用jQuery分別從一個字符串中將赤字和赤緯數據分解成它們的成分(小時,分鐘和秒)和(度,弧分和弧秒),並將它們存儲在變量中數字。例如:如何使用jQuery解析正則表達式的內容?

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

實際上,數據駐留在表中的單元格(具有特定類('ra'))中。 目前,我有這個迄今爲止得到:

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

這給了我偏角爲一個字符串,但我無法弄清楚如何解析該字符串。 我想出正則表達式(-|)+\d+(這給了我-35從-35:48:00)得到第一部分。我如何結合上面的代碼使用它?

回答

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,它是一個有點誤導

+0

加parseInt函數,當然。 :) – 2009-06-15 19:40:24

+0

讓我完成! :) – 2009-06-15 19:41:21

1

使用String.match()

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