我在表单中有一些输入文本字段,其名称格式为: 的 sometext [234] [sometext]
像<input type="text" name="user[2][city]" />
我需要获得具有分割功能的'用户','2'和'城市'。
谢谢
答案 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);
}