Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用php从字符串中提取数值_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用php从字符串中提取数值

Javascript 如何使用php从字符串中提取数值,javascript,jquery,Javascript,Jquery,如何从字符串中获取数值 这里有几个例子 val1 = '18,000'; val2 = '18,000 USD'; val3 = '18,000 PKR'; val4 = '18000 PKR'; 我只需要获取数字,18000。没有别的了。试试这个: var num = Number(val1.replace(/[^0-9.]/g, "")); 首先,必须替换字符串中的所有逗号。然后可以使用JavaScript函数parseInt var str = "18,000 U

如何从字符串中获取数值

这里有几个例子

val1 = '18,000';    
val2 = '18,000 USD';  
val3 = '18,000 PKR';    
val4 = '18000 PKR';
我只需要获取
数字
18000
。没有别的了。

试试这个:

 var num = Number(val1.replace(/[^0-9.]/g, ""));

首先,必须替换字符串中的所有逗号。然后可以使用JavaScript函数
parseInt

var str = "18,000 USD";
str = str.replace(/,/g, "");
var num = parseInt(str, 10);
alert(num);
现在,如果需要小数点,可以使用
parseFloat

var str2 = "18,000.50 USD";
str2 = str2.replace(/,/g, "");
var num2 = parseFloat(str2, 10);
alert(num2);

工作示例:

假设您对代码进行了更正,您应该能够使用此工具将它们转换为实际值

var val1 = "18,000";
var val2 = "18,000 USD";
var val3 = "18,000 PKR";
var val4 = "18000 PKR";

[val1, val2, val3, val4].map(function (n) { 
  return Number(n.replace(/[^\d]+/gi, '')) 
});
这将为您提供如下值数组:

[ 18000,
  18000,
  18000,
  18000 ]
对于PHP,您可以这样做:

    $val1 = "18,000";
    $val2 = "18,000 USD";
    $val3 = "18,000 PKR";
    $val4 = "18000 PKR";

    function map ($n) {
        $n = preg_replace("%[^\d]+%mi", '', $n);
        return $n;
    }

    $vals = array_map(map, array($val1, $val2, $val3, $val4));
$VAL
将保存实际值并打印($VAL)应产生:

    Array
    (
        [0] => 18000
        [1] => 18000
        [2] => 18000
        [3] => 18000
    )

你用正则表达式搜索过吗?这个网站已经有人问过了。请看一下这个链接:这个:这些不是字符串-你需要引用它们。什么语言?PHP或Javascript?这对小数位不起作用,例如$18000.10