2010-04-09 97 views
0

好吧,我有这个问题...我想从字符串中取出一些文本,并且文本夹在()括号和字符串之间看起来像这样var a = validate(password)我想要取出密码;) THX在向前 瓦尼娅使用jquery过滤数据

+0

你的意思是你有'var a =“验证(密码)”;'你想要子字符串支架的标准? – scunliffe 2010-04-09 12:44:34

+0

这可疑听起来像是一个家庭作业问题。 – 2010-04-09 12:55:19

回答

3

使用普通老式JS .replace()方法与正则表达式:

var a = "validate(password)"; 
a = a.replace(/\(.*?\)/g, "()"); 
// will result in a = "validate()" 

这将移除每一个被包含在括号串。

更新:

如果你想要得到的值,你可以使用.match()

var a = "validate(password)"; 
var match = a.match(/\(.*?(?=\))/); 

这将让任何值用括号括起来。但由于JS不支持逆序查看,您将获得"(password"。删除第一个字符是容易做的:

match = match.substring(1); 

更新2
如果你知道会有只用括号括起来比你也可以不用正则表达式的一个值:

a = a.substring(a.indexOf('(')+1, a.indexOf(')')); 
+0

我不想删除密码,我想从该字符串中取出密码并将其放入新的字符串中... – slimDeviant 2010-04-09 13:34:48

+1

+1作为答案。 '@ vanjadjurdjevic' - 你需要修改正确的问题和措辞。 '过滤器'和'取出'声音非常像你想从字符串中删除文本。为了其他人不会阅读此评论并尝试回答这个问题,请更新它。 – Anurag 2010-04-09 13:40:24

-1

好吧,这是解决方案

var str = "validate(password)"; 
var bar = str.substring(9); 
var end = bar.replace(')',''); 
+0

那么这是非常具体的,如果你有''有效(密码)'''不会工作了。 – 2010-04-09 15:36:16