如何使用Javascript Regex获取值

时间:2017-02-17 21:28:08

标签: javascript jquery regex

如何从值pos获取值:



var pos = (59.9477, 59.9477)
var arr = pos.replace(/[^\d|,]/g, "").split(",");
console.log(arr);




3 个答案:

答案 0 :(得分:2)

  1. pos应为字符串。
  2. 您也必须排除.被删除。
  3. 集合中的|(或)无用。
  4. 
    
    var pos = "(59.9477, 59.9477)";
    var arr = pos.replace(/[^\d,.]/g, "").split(",");
    console.log(arr);
    
    
    

    另一种方法:

    您可以使用match使用此正则表达式/\d*\.?\d+/g来获取结果。像这样:

    
    
    var pos = "(59.9477, 59.9477)";
    var arr = pos.match(/\d*\.?\d+/g);
    console.log(arr);
    
    
    

答案 1 :(得分:1)

  

如何从值pos获取值:

根据您的代码以及var pos = (59.9477, 59.9477)的问题,您应该知道console.log(pos) // => 59.9477typeof post // => "number"并且替换方法和正则表达式仅适用于字符串类型。所以我猜你的变量可能是var pos = "(59.9477, 59.9477)",这是String。

var arr = pos.replace(/[^\d|,]/g, "").split(",");你的正则表达式/[^\d|,]/g,这意味着匹配除数字和逗号之外的所有内容,但我认为你想保持小数点正确吗?其他的你会回来["599477", "599477"]。我想你想要[" 59.9477"," 59.9477"],如果是这样,你的代码应该是var arr = pos.replace(/[^\d.,]/g, "").split(",");

注意:使用NOT |时,or不需要[^]

答案 2 :(得分:0)

只需使用引号,而不是():

var pos = "59.9477, 59.9477";
var arr = pos.replace(/[^\d|,]/g, "").split(",");
console.log(arr);