2014-09-26 45 views
3

是否有一個JavaScript/JQuery中的函數,它會從字符串製作標籤?我正在尋找答案几分鐘,我找不到它:/也許還有其他方法可以做到這一點?我有Symfony 2.4應用程序。字符串到獨特的哈希在JavaScript/Jquery

我有序列化到字符串我的表單數據,例如:

"cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictName%5D=Otwartabbb&cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictValue1%5D=fa-comments-o+text-muted&cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictName%5D=Wycena&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictValue1%5D=fa-comments-o+text-muted&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictName%5D=Negocjacje&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictValue1%5D=fa-comments-o+text-muted&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BisDefault%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictName%5D=Wygrana&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictValue1%5D=fa-thumbs-o-up+text-primary&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictName%5D=Przegrana&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictValue1%5D=fa-thumbs-o-down+text-danger&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5B_token%5D=3PBJr_pPjHhAIB95N7PUReP5asrXsGwCILAxZLyGTUg deal:738 
cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictName%5D=w%C5%82asnee&cloud_adm_dictionary_type%5Bitems%5D%5B0%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictName%5D=proklienckii&cloud_adm_dictionary_type%5Bitems%5D%5B1%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictName%5D=telemarketing&cloud_adm_dictionary_type%5Bitems%5D%5B2%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictName%5D=mailing&cloud_adm_dictionary_type%5Bitems%5D%5B3%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictName%5D=www&cloud_adm_dictionary_type%5Bitems%5D%5B4%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B5%5D%5BdictName%5D=partner&cloud_adm_dictionary_type%5Bitems%5D%5B5%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B6%5D%5BdictName%5D=nowe+zrodlo&cloud_adm_dictionary_type%5Bitems%5D%5B6%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5Bitems%5D%5B7%5D%5BdictName%5D=Aaa&cloud_adm_dictionary_type%5Bitems%5D%5B7%5D%5BdictActive%5D=1&cloud_adm_dictionary_type%5B_token%5D=3PBJr_pPjHhAIB95N7PUReP5asrXsGwCILAxZLyGTUg" 

,我想使從主題標籤,像我不知道「462423dfdaak542634」。我稍後需要比較主題標籤以查看錶單是否已更改。

+0

表明要轉換到什麼哪個字符串的一些例子嗎? – 2014-09-26 10:36:35

+4

整個'幾分鐘'嘿?打賭,這是徵稅。 ;) – Moob 2014-09-26 10:36:57

+0

阿卜杜勒 - >我添加了你想要的信息。 – 2014-09-26 10:40:38

回答

5

在這裏,你可以使用這個簡單的散列函數:

function hashCode (str){ 
    var hash = 0; 
    if (str.length == 0) return hash; 
    for (i = 0; i < str.length; i++) { 
     char = str.charCodeAt(i); 
     hash = ((hash<<5)-hash)+char; 
     hash = hash & hash; // Convert to 32bit integer 
    } 
    return hash; 
} 

See the DEMO here

+0

工作很好,謝謝;-) – 2014-09-26 10:50:12

+1

歡迎..哦,順便說一句..哈希標籤referes爲「#」,所以我第一次以爲你想要你的字符串轉換到#String #anotherString ..哈哈 – 2014-09-26 10:51:03

+0

我知道,我的錯誤。我後來認爲,在Facebook上有標籤,它不是我所需要的最幸運的詞:P現在我知道爲什麼我無法在google中找到這個答案xD – 2014-09-26 10:53:19