我有一个我的网站的一部分,我使用复选框显示隐藏信息divs onclick.我需要能够切换一个继续按钮以及隐藏的div(显示/隐藏)或(切换),同时收集字符串前面的2位数字,以便在添加到购物车时用作ID.我想也许是使用reg exp的jquery split()函数.我如何分割像45frank这样的字符串,所以它会像id = 45和val = frank.
var str = "45frank";
var parts = str.match(/(\d+)(\D+)/).slice(1);
Run Code Online (Sandbox Code Playgroud)
这假设第二部分不包含任何数字.
它返回一个数组:
["45", "frank"]
Run Code Online (Sandbox Code Playgroud)
如果第二部分可能有一个数字,你可以这样做:
var str = "45fr9ank";
var parts = str.match(/(\d+)(\D.+)/).slice(1);
Run Code Online (Sandbox Code Playgroud)
导致:
["45", "fr9ank"]
Run Code Online (Sandbox Code Playgroud)
然后只需添加您想要的文本:
parts[0] = "id=" + parts[0]
parts[1] = "val=" + parts[1]
Run Code Online (Sandbox Code Playgroud)
或者如果你想要一个字符串结果(我无法从问题中得知)你可以这样做:
var str = "45fr9ank";
str = str.replace(/(\d+)(\D.+)/,function(str,s1,s2){
return "id=" + s1 + " val=" + s2;
});
Run Code Online (Sandbox Code Playgroud)
结果是:
"id=45 val=fr9ank"
Run Code Online (Sandbox Code Playgroud)