我有一些值,例如
£523.22
9454
££45523
741.03
etc
我想从值中删除这个£并检查它是否有效,以便我可以将它们插入数据库我在 preg_match() 或类似函数的帮助下创建以下表达式来检查货币 .y
$job_order=(preg_match("/^[£]*[0-9]*(.[0-9]*)?$/",$value) ? str_replace("£","",$value) : '' );
如果$value =£523.22,则返回空值。但如果它的 741.03 thn 它的工作.我不知道这个preg_match有什么问题.我正在从 导入此值。Mer(合并)文件。如果我只是写 $value=£523.22,那么它就可以工作了,但是当它从文件中读取值时,它不会识别井号
你可以使用这个:
$job_order = strtr($value, '£', '');
if (is_numeric($job_order)) {
// valid
} else {
// invalid
}
怎么样:
$value = preg_replace(/'£(?='d+)/' , '', $value);
或者,如果值可以£.50
$value = preg_replace(/'£(?='.?'d+)/' , '', $value);
尝试这样做进行货币匹配/^((?:'d{1,3}[,'.]?)+'d*)$/
(preg_match('/^((?:'d{1,3}[,'.]?)+'d*)$/',,$value) ? str_replace("£","",$value) : '' );
'd{1,3}
1 到 3 位数字
您可以使用'd{1,X}
增加数量