用javascript分割这个字符串“text [99] [text]”

时间:2011-02-23 18:24:52

标签: javascript

我在表单中有一些输入文本字段,其名称格式为: 的 sometext [234] [sometext]

<input type="text" name="user[2][city]" />

这样的东西

我需要获得具有分割功能的'用户','2'和'城市'。

谢谢

3 个答案:

答案 0 :(得分:5)

我想这里的正则表达式更适合。

var res = document.getElementsByTagName('input')[0].getAttribute('name').match(/^(\w+)?\[(\d+)?\]\[(\w+)?\]$/);

console.log(res[1]); // === "user"
console.log(res[2]); // === "2"
console.log(res[3]); // === "city"

答案 1 :(得分:3)

>>> "user[2][city]".split(/[\[\]]+/)

返回此数组:

["user", "2", "city", ""]

答案 2 :(得分:1)

你用过正则表达式吗?试试这个样本(available in jsFiddle):

var re = /(.+?)\[(\d+)\]\[(.+?)\]/;
var result = re.exec("user[2][city]");
if (result != null)
{
    var firstString = result[1]; // will contain "user"
    var secondString = result[2]; // will contain "2"
    var thirdString = result[3]; // will contain "city"
    alert(firstString + "\n" + secondString + "\n" + thirdString);
}