我有一段我的网站,我使用复选框来显示隐藏信息div onclick。 我需要能够切换继续按钮以及隐藏的div(显示/隐藏)或(切换),同时收集字符串前面的2位数字,以便在添加到购物车时用作ID。我想也许与reg exp jquery split()函数。我怎样才能分割一个像45frank这样的字符串,所以它会像id = 45和val = frank。如何使用Jquery将像45frank这样的字符串拆分为
0
A
回答
7
var str = "45frank";
var parts = str.match(/(\d+)(\D+)/).slice(1);
这里假设第二部分不包含任何数字。
它返回一个数组:
["45", "frank"]
如果有可能的是,第二部分可能有很多,你可以这样做,而不是:
var str = "45fr9ank";
var parts = str.match(/(\d+)(\D.+)/).slice(1);
导致:
["45", "fr9ank"]
然后只需添加你想要的文字:
parts[0] = "id=" + parts[0]
parts[1] = "val=" + parts[1]
或者,如果你想要一个字符串结果(我不能从问题告诉),你可以这样做:
var str = "45fr9ank";
str = str.replace(/(\d+)(\D.+)/,function(str,s1,s2){
return "id=" + s1 + " val=" + s2;
});
结果:
"id=45 val=fr9ank"
+1
+1有关替换中的回调函数的示例。我没有意识到这种可能性。 – mhitza 2011-01-28 16:29:48
0
var id = string.slice(0,2);
var val = string.substr(2);
这里没有理由使用jQuery或正则表达式。这只适用于数字总是两位数的情况。
如果您忘记它为“45#弗兰克”,那么你可以使用像
var id = string.split("#")[0];
var val = string.split("#")[1];
0
我尽量不使用REG EXP经常性能损失,因为。如果你的字符串的格式是2位数字然后是一串字符。您可以尝试以数组的形式访问该字符串。不幸的是IE不支持这一点。但我有一个工作,基本上将字符串转换为数组访问前两位数字并撤消它。只需使用JavaScript内置函数,我相信它是.split()。不幸的是,我现在没有我的代码。
但你基本上将字符串转换为数组。访问数字的[0]和[1]。从[2]到...字符串长度减1将是您的字符串。您可以使用另一个内置的JavaScript函数将数组转换回字符串。这种疯狂的原因是因为IE不支持像数组一样访问字符串。
这就是我做到的。或者只是使用HTML5自定义属性data-来分别放置信息。
相关问题
- 1. 如何拆分这样的字符串?
- 2. 将字符串拆分为字符串
- 3. 将字符串拆分为字符串
- 4. 将字符串拆分为“|”
- 5. C#拆分字符串 - 将字符串拆分为数组
- 6. 如何将字符串拆分为java中的子字符串
- 7. 如何将字符串拆分为iOS中的子字符串?
- 8. 如何将字符串拆分为等长的子字符串?
- 9. 如何将字符串拆分为重复的子字符串
- 10. 使用split.string(“”);将字符串拆分为子字符串。
- 11. 将lua字符串拆分为字符
- 12. C++如何将字符串拆分为字符串和整数?
- 13. 如何将字符串拆分为字符串[]?
- 14. 如何将字符串拆分为字符串数组?
- 15. 使用字符串作为分隔符来拆分字符串
- 16. 如何将字符串拆分为字母字符串和数字字符串?
- 17. 如何将int更改为像这样的字符串
- 18. 如何使用rpartition将字符串拆分为反斜杠
- 19. 如何使用PHP将字符串拆分为2个变量?
- 20. 如何将字符串拆分为重叠的字符对
- 21. 将字符串拆分为两部分
- 22. 如何分离这样的字符串?
- 23. Python:使用分隔符将字符串拆分为多行
- 24. 将字符串拆分为字典
- 25. 如何将字符串拆分为字符而不使用拆分方法或使用数组?
- 26. python如何将字符串拆分为多个字符?
- 27. 如何在python中将字符串拆分为字符?
- 28. 如何将unicode字符串拆分为多个字符?
- 29. 如何拆分字符串?
- 30. 如何拆分字符串?
会更好地分割像“45_frank”的id,更容易解析后者。 – yoda 2011-01-28 16:18:06
不幸的是,我正在使用现有的系统,并且已经设置了变量,我会使用45_frank格式,这就是我问这个问题的原因。感谢您的快速响应 – 2011-01-28 18:09:11