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 に答える