2012-03-19 89 views
0

我試圖實現一個簡單和高級的搜索,讓我只需鍵入搜索默認參數,但也有一個高級搜索框。簡單/高級搜索

例如在搜索框中,我搜索日期範圍的「from」和「to」,並用「從:xx/xx/xxxx到:xx/xx/xxxx」填寫簡單搜索,並將將其轉換爲獲取請求。

我想我需要的是一個正則表達式來分割keyword:...,keyword:...和字符串結束。其他

我的話,什麼是分裂的正則表達式「標準1:等等等等criteria2:FOO criteria3:酒吧」

或另一種解決方案將是一個jQuery插件,做到這一點。

+1

您有具體問題嗎? – AlexMA 2012-03-19 15:07:32

+0

問題已更新。 – 2012-03-19 15:10:07

+0

Arent RegExps限於最多10個變量? – Amberlamps 2012-03-19 15:14:12

回答

0

的最直接方式是使用正前瞻:

"criteria1:blah blah criteria2:foo criteria3:bar" 
    .match(/([\w\d]+:[\w\d\s]+?)(?= [\w\d]+:|$)/g) 
// returns ["criteria1:blah blah", "criteria2:foo", "criteria3:bar"] 

你需要改變允許作爲標準名稱,標準值是什麼人物。

+0

這個工作,如果criteria1 =等等等等等等等等?或任何數量或參數? – 2012-03-19 15:24:09

+0

當然。允許空間作爲標準值(參見第二個括號中的\ s')。如果你願意,你可以考慮不同的使用/測試案例,並與他們更新你的答案。 – kirilloid 2012-03-19 15:28:36

+0

這是輝煌的謝謝:) – 2012-03-19 15:38:19