2012-11-24 43 views
0

我真的很感謝你的幫助。會發生什麼是我的代碼從php文件中獲取字符串víaajax。 php文件返回一個長字符串,其中包含以下"css":["DSK\/y"],"js":["V5Llk","1dVnw"],"onload":["goURI(\"\\\/procedure\\\/376993639056176\\\/?context=create\");"],"bootloadable":{"IframeShim":{"resources":[...兩個詞之間的正則表達式

我想要的是獲得數字376993639056176與JavaScript是一個服務器變量,並保持與它的過程。你能幫我嗎?

+0

是那個數字*總是* 15位數字長?它總是以'/'開頭,然後是'\\\'?該字符串的哪些部分是一致的? '正則表達式'的關鍵部分是它們可以用來匹配規則格式字符串中的內容;如果字符串*不是常規(或不可預測格式),則表示regex開始失敗。你是什​​麼意思'...並保持一個過程?'?將它分配給一個變量,調用一個函數,啓動一個或另一個Ajax請求..? –

+0

你的問題是什麼?請發佈整個結果 –

+0

@DavidThomas nope,它是一個數字字符串,但它總是出現在「procedure」字之後,並且是\\\ /。謝謝 –

回答

0

您的服務器正在返回一個包含若干信息的JSON,並且您希望它的「onload」屬性的數字部分。你可以做以下

下面的函數將只得到從字符串的數字

var serverJSONString = stringReturnedByServer(); 
var longUri = serverJSONString.onload[0]; //This will get only the "onload" string; 
var decodedNumber = longUri.replace (/[^\d]/g, ""); 
alert(decodedNumber); 

這裏有一個功能fiddle

+0

好的,我不是很清楚。我剛剛編輯了這個問題,你可以檢查一下嗎?謝謝! :D –

+0

我做了一個編輯,以涵蓋你之前沒有發佈的內容 –

0

如果該字符串的唯一數字實際上你正在尋找的那些因爲你可以使用像

var regex = new RegExp("[^0-9]*([0-9][0-9]*)[^0-9]*","g") 
var number = yourString.replace(regex,"$1"); 
+0

但它不是唯一的數字字符串。 –

+0

那麼固定模式是什麼? onload「:[」goURI(\「\\\/procedure \\\/WHATEVER_IS_HERE \\\ /?....?或甚至goURI字符串可以不同? – pabrantes

相關問題