我有一些像
这样的值£523.22
9454
££45523
741.03
etc
我想从值中删除此£并检查它是否有效vaue以便我可以将它们插入到数据库中 我在preg_match() or similar function for checking currency .y
的帮助下创建了以下表达式$job_order=(preg_match("/^[£]*[0-9]*(.[0-9]*)?$/",$value) ? str_replace("£","",$value) : '' );
如果$ value =£523.22则返回null。但如果它的741.03正在工作。我不知道这个preg_match有什么问题。 我从.Mer(Merge)文件导入这个值。如果我只是写$ value =£523.22然后它的工作但是当它从文件读取值然后它没有识别英镑符号
答案 0 :(得分:1)
您可以使用:
$job_order = strtr($value, '£', '');
if (is_numeric($job_order)) {
// valid
} else {
// invalid
}
答案 1 :(得分:0)
怎么样:
$value = preg_replace(/'£(?=\d+)/' , '', $value);
或者,如果值可以是£.50
$value = preg_replace(/'£(?=\.?\d+)/' , '', $value);
答案 2 :(得分:0)
尝试使用货币匹配/^((?:\d{1,3}[,\.]?)+\d*)$/
(preg_match('/^((?:\d{1,3}[,\.]?)+\d*)$/',,$value) ? str_replace("£","",$value) : '' );
\d{1,3}
一到三位
您可以使用\d{1,X}