1

在表单验证期间,我希望能够获取像“$5,000”这样的输入值并去掉逗号和美元符号,返回一个像“5000”这样的值。因此,我创建了一个如下所示的回调函数:

function convert_to_number($value)
{
    $result = preg_replace('/[\$,]/', '', $value);
    return $result;
}

奇怪的是,它并没有删除美元符号或逗号,而是删除了它以及它后面的每个字符(因此 5,000 美元的值返回 0,或者 5,000 返回 5)。

我还尝试了以下变体:

function convert_to_number($value)
{
    $result = str_replace("$", "", $value);
    $result = str_replace(",", "", $result);
    return $result;
}

同样的事情也会发生。这简直让我难以置信。知道这里可能会发生什么吗?

4

1 回答 1

0

不返回结果尝试返回实际值,使用结果进行验证,

function convert_to_number($value)
{
    $result = preg_replace('/[\$,]/', '', $value);
    return $value;
}
于 2013-10-23T11:47:12.647 回答