2012-01-30 139 views
2
webcategory.aspx?q=webcategory:Car&rows=0 

从这个查询字符串中提取'webcategory:Car'(q)并将其插入到文本字段中。使用正则表达式擦除冒号前的所有文本

var qqry = $.getParamValue('q');  
if(qqry != '') {  
    $("#search-field").val(qqry)  
} 

我需要知道如何在冒号前,擦拭所有的文本(:)在文本字段使用正则表达式符号 - 因此webcategory:Car变得只是Car

PLZ容忍我,因为我对正则表达式的知识都在绝对最低...: -/

回答

4

它是否必须与正则表达式?

$("#search-field").val(qqry.split(':').pop()) 
+0

_ “?它必须与正则表达式” _ 是绝对不会 - 因为只要它有效... tnx很多:-) – 2012-01-30 12:49:29

+0

'.split().pop()'是获取最后部分的一种巧妙方法。 – 2012-01-30 12:55:00

1

是否会有永远只能是一个冒号,你可以跳过正则表达式的人在一起,使用分裂()函数象下面这样:

var qqry = $.getParamValue('q');  
if(qqry != '') {  
    $("#search-field").val(qqry.split(":").pop())  
} 

,如果有则可能需要去潜在的多个冒号与正则表达式的答案。

编辑: 在其他的答案中提到,你可以使用弹出()函数来拉动数组中的分裂产生()的最后一个元素这样做,而不是split

+0

它们不是分号。他们是冒号。 – 2012-01-30 12:50:43

+0

opps :-)谢谢... – 2012-01-30 12:51:15

+0

此外,当没有冒号或冒号不止一个时,它将不起作用。 – 2012-01-30 12:52:49

1
var afterColon = qqry.replace(/.*:/, ""); 

一个好处的选项是即使没有冒号也可以工作。

  • “汽车”=> “汽车”
  • “webcategory:汽车”=> “汽车”
+0

所以我的'分裂'答案。 – 2012-01-30 12:51:12

+0

是的。 .split()。pop()也起作用。 :) .split()[1]不起作用。 – 2012-01-30 12:52:19

+0

最后,官方回答没有得到评分 – batbaatar 2012-01-30 12:53:17

相关问题