我有一个字符串如下
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] + '" /> ');
});
但是当它用 = 分割时,它会分割字符串中包含 = 的结果字符串,并且它也会分割它。我想知道如何停止分割结果字符串。
最佳答案
我这就是你想要实现的,使用.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>
关于javascript - jQuery 字符串分割问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45206411/