2009-08-21 75 views
1

我在javascript中具有名为s的变量。它包含值为'40 & lngDesignID = 1'。我想将其与&分开并且想要获得40并且lngDesignID = 1。我可以如何在javascript?有人可以帮忙吗?在javascript中分割字符串

+0

可能的重复[如何用JavaScript分割此字符串?](http://stackoverflow.com/questions/96428/how-do-i-split-this-string-with-javascript) – outis 2012-02-19 18:33:37

回答

7

使用s.split(“&”)返回一组元素。

var string = "40&lngDesignID=1"; 
var splitVals = string.split("&"); 

alert(splitVals[0]); // Alerts '40' 
alert(splitVals[1]); // Alerts 'lngDesignID=1' 
2
var yourString = '40&lngDesignID=1'; 

var arr = yourString.split('&'); 
alert(arr); 

然后常用3 [0]将持有 '40' 和改编[1]将保持值 'lngDesignID = 1'。

另外,javascript split接受正则表达式,因此如果需要的话,还可以进一步分解字符串。

var yourString = '40&lngDesignID=1'; 

var arr = yourString.split(/[&=]/); 
alert(arr); 

该版本将输入分为3部分; 40,lngDesignID和1.

0

请勿对任何类型的字符串操作使用&符号。如果您必须比较从HTML获取其值并包含&符号的变量,则会发现将&符号转换为实体,这会将您的比较或评估搞砸。使用一些其他不会使用的字符,如波浪号或插入符号。

+0

WTF是胡萝卜字符?... – 2009-08-21 11:55:52

+0

其实它是一个插入符号... http://en.wikipedia.org/wiki/Caret – chills42 2009-08-21 12:00:41

+0

无论如何,你必须处理HTML转义;避免&符号不会改变这一点。 OP的示例字符串看起来像一个URL查询,在这种情况下,&符号是不可避免的。 (根据HTML4规范的建议,有些框架允许使用分号代替,但不幸的是,现在最流行的框架并不支持。) – bobince 2009-08-21 14:32:03