Javascript在属性中获取值

时间:2017-02-10 08:56:22

标签: javascript jquery

我在输入类型中使用jquery .attr,所以当我运行

console.log('name: '+$(this).attr('name'));

输出为:name: user_project_category[65][skill][9]

如何获得65和9?

4 个答案:

答案 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 ]




  1. 您可以使用split with slice
  2. 假设这不是动态的,格式是相同的。 动态使用正则表达式

答案 3 :(得分:0)

使用正则表达式。

line

输出:var output = 'user_project_category[65][skill][9]'; var numbers = output.match(/\d+/g).map(Number); alert(numbers);

做任何你想做的事情。

working fiddle