Javascript 如何使用jQuery正则表达式拆分以管道符号分隔的字符串

Javascript 如何使用jQuery正则表达式拆分以管道符号分隔的字符串,javascript,jquery,regex,Javascript,Jquery,Regex,我有一个动态生成的字符串,它基本上是一行,每个值由管道符号|分隔,我需要将其分隔并将其插入一组隐藏字段中 ,但不适用于我,我只能使用(~或|)作为特殊字符,因为我的数据可能包含其他字符 这是我的密码: var data = "Val1@#|val2$%|val3(*|"; // dynamically generated $.each(data.split(/\s*|\s+/), function(i, val) { alert(val); }); “Val1@#| val2$%|

我有一个动态生成的字符串,它基本上是一行,每个值由管道符号
|
分隔,我需要将其分隔并将其插入一组隐藏字段中

,但不适用于我,我只能使用(
~
|
)作为特殊字符,因为我的数据可能包含其他字符

这是我的密码:

var data = "Val1@#|val2$%|val3(*|"; // dynamically generated 

$.each(data.split(/\s*|\s+/), function(i, val) {
    alert(val);
});
“Val1@#| val2$%| val3(*|)”。拆分(“|”)
工作正常。不需要正则表达式。
与正则表达式等价的是:
.split(/\\124;/)

不需要正则表达式:

var list = Data.split("|");
使用以下命令:

var Data ="Val1@#|val2$%|val3(*|" //dynamically generated 
alert(Data);
$.each(Data.split(/\|/), function (i, val) {
     alert(val);
})

工作小提琴:

如果您使用
|
分隔字符串,您可以使用javascript的正常
string.split()
函数。无需使用正则表达式

HTML:


代码:

var data=“Val1@#|val2$%|val3(*|“;
$.each(data.split(“|”)、函数(键、值){
$(“#结果”).append(值).append(“
”); });
为什么不直接执行
Data.split(“|”)
?这将为您提供一个值数组(以及一个空字符串作为字符串以“|”结尾的最后一个值)。不使用正则表达式也可以,但我正试图学习正则表达式,所以这只是一个愿望,但无论如何都需要一个解决方案:-(.@Amarnathrsenoy你想学习,从regex中的REGEXONESo escape开始,就像Aziz Shaikh的回答一样,
中的第二个参数每个
都是一个函数,这意味着什么?谢谢兄弟,这就是我在寻找的:D@MrX返回第四个空值,因为输入包含“|”最后。使用这个更新的提琴来避免空值:谢谢你,这是属于regex的吗???@AmarnathRShenoy buddy为什么你想用剑杀死一只苍蝇???@aelor:用剑杀死一只苍蝇真是令人印象深刻
<div id="result"></div>
var data = "Val1@#|val2$%|val3(*|";

$.each(data.split('|'), function(key, value){
    $('#result').append(value).append('<br/>');
});