我在输入类型中使用jquery .attr
,所以当我运行
console.log('name: '+$(this).attr('name'));
输出为:name: user_project_category[65][skill][9]
如何获得65和9?
答案 0 :(得分:2)
您可以使用Regular Expressions将括号中的文本提取到数组中,然后您可以访问数组以获取所需的值,您可以提取括号中的所有文本或仅提取数字:
var yourInput = "user_project_category[65][skill][9]";
var allMatches = yourInput.match(/\[(.*?)\]/g);
console.log(allMatches[0]);
console.log(allMatches[2]);
var numberMatches = yourInput.match(/\[([0-9]*?)\]/g);
console.log(numberMatches[0]);
console.log(numberMatches[1]);

答案 1 :(得分:0)
在JavaScript中使用正则表达式或拆分函数
var output= 'user_project_category[65][skill][9]';
output.split(/(\d+)/)[1];
output.split(/(\d+)/)[3];
答案 2 :(得分:0)
var data = "name: user_project_category[65][skill][9]";
console.log(data.split("[")[1].slice(0,-1))//use split to get 65] use slice to remove ]
console.log(data.split("[")[3].slice(0,-1))//use split to get 9] use slice to remove ]

假设这不是动态的,格式是相同的。 动态使用正则表达式
答案 3 :(得分:0)
使用正则表达式。
line
输出:var output = 'user_project_category[65][skill][9]';
var numbers = output.match(/\d+/g).map(Number);
alert(numbers);
做任何你想做的事情。