gpt4 book ai didi

javascript - 删除货币符号 PHP

转载 作者:行者123 更新时间:2023-11-30 06:58:21 34 4
gpt4 key购买 nike

我有一个带有 jQ​​uery slider 的表单,允许选择价格范围。

运行 slider 的 JavaScript 还会为每个价格添加前缀 £ 符号。

我试图在提交表单之前删除 £ 符号,因为数据库中的价格值只是 numeric 而没有任何货币符号。

我正在尝试 str_replace 函数,但下面的代码不起作用?

<div id="slider">
<input type="text" id="price-min" name="price-min" <?php
$price-min = str_replace('£', '', $price-min);
?>>
</input>
<input type="text" id="price-max" name="price-max" <?php
$price-max = str_replace('£', '', $price-max);
?>>
</input>
</div>

最佳答案

您可以只过滤变量。

<?php
$value = "£200";
echo filter_var($value, FILTER_SANITIZE_NUMBER_INT);

Live Preview

编辑

I'll need to cover all values from £0 - £1,000 and also strip out the comma from the £1,000 figure - Is this possible?

<?php
$value = "£200";
echo filter_var( str_replace(",", "", $value), FILTER_SANITIZE_NUMBER_INT);

Live Preview

或者甚至像漂浮物一样 sanitizer

<?php
$value = "£1,200";
echo filter_var($value, FILTER_SANITIZE_NUMBER_FLOAT);

Live Preview

A valid variable name starts with a letter or underscore, followed by any number of letters, numbers, or underscores

您的变量中有 -,使它们无效。

编辑2

使用 javascript 删除 £,使用正则表达式。

var s = "£1,300";
s.replace(/\D/g,'');

Live Preview

编辑3

如果您接受负十进制数(即:-£20,000.06/-£20000.06),则使用 FILTER_FLAG_ALLOW_FRACTION 标志。 Milan 指出了这个问题因为当前的答案没有处理这个测试用例。

<?php
$value = "-£20,000.06";
echo filter_var($value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);

Live Preview

关于javascript - 删除货币符号 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25620869/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com