2017-07-20 46 views
0

我有一个字符串如下jQuery的问题与字符串分割

var a = "M=1234&b=sdaks&c=sdkssad&strXML=<a><b mode="abc"><c>string content</c></b></a>" 

然后我与&

var b = a.split('&'); 

然后进一步更我分裂分裂它b相在循环=和追加到表格

$.each(b, function (index) { 
     var paramsV = b[index].split('='); 
     frm.append('<input type="hidden" name="' + paramsV[0] + '" value="' + paramsV[1] + '" /> '); 
    }); 

但是当它与=分裂时,它是在字符串内部有=的拆分结果字符串,它也在拆分。我想知道如何停止拆分结果字符串。

+1

的问题是,分割字符串仍然有 '=' 符号? – itsmichaelwang

+0

尝试类似'.split(/=(.+)/)' –

+0

似乎有一个错字。可以向我们展示您的预期产出和当前产出? –

回答

1

我这个,你想达到什么,使用.split(/=(.+)/)只驳头=

还要注意的是,当你试图输入paramsV[1]具有"里面,它会破坏Input的原始代码,这就是为什么我用.replace(/\"/g, "''")代替

var a = 'M=1234&b=sdaks&c=sdkssad&strXML=<a><b mode="abc"><c>string content</c></b></a>' 
 

 
var b = a.split('&'); 
 
var frm = $(".frm") 
 
$.each(b, function(index) { 
 
    var paramsV = b[index].split(/=(.+)/); 
 
    frm.append('<input type="" name="' + paramsV[0] + '" value="' + paramsV[1].replace(/\"/g, "''") + '" /> '); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="frm"></div>

1

您在变量声明中犯了错误。在双引号内,你需要使用单引号。你需要使用像.split(/=(.+)?/)这样的正则表达式。请参阅下面的输出。

$(function(){ 
 
var a = "M=1234&b=sdaks&c=sdkssad&strXML=<a><b mode='abc'><c>string content</c></b></a>"; 
 
var b = a.split('&'); 
 
$.each(b, function (index) { 
 
     var paramsV = b[index].split(/=(.+)?/); 
 
     console.log('<input type="hidden" name="' + paramsV[0] + '" value="' + paramsV[1] + '" /> '); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

这就是你在找什么? @Milind – lalithkumar

+0

当我第二次分割=那时,如果你看到有strXML,那strXML有= insdide字符串也在分裂 – Milind

+0

现在检查? @Milind – lalithkumar

0

var a = "M=1234&b=sdaks&c=sdkssad&strXML=<a><b mode='abc'><c>string content</c></b></a>"; 
 
    var b = a.split('&'); 
 
    $.each(b, function (index) { 
 
     var index1 = b[index].indexOf("=") 
 
     var markup ='<input type="hidden" name="' + b[index].substring(0, index1) + '" value="' + b[index].substring(index1) + '" /> '; 
 
     console.log(markup); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

检查它