2012-11-24 42 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

相关问题