[英]PHP Currency Regular Expression
我试图找到一块正则表达式来匹配货币值。
我想只匹配数字和1小数点即
允许
不允许
我有搜索,并尝试了一些没有运气。
希望你能提出建议
这个怎么样
if (preg_match('/^\d+(\.\d{2})?$/', $subject))
{
// correct currency format
} else {
//invalid currency format
}
if (preg_match('/^[0-9]+(?:\.[0-9]+)?$/', $subject))
{
# Successful match
}
else
{
# Match attempt failed
}
附注 :如果要限制所需的小数位数,可以执行以下操作:
/^[0-9]+(?:\.[0-9]{1,3})?$/im
所以
100.000
会匹配,而
100.0001
惯于。
如果您需要任何进一步的帮助,请发表评论。
PS如果可以,请使用上面发布的数字格式器。 本机功能总是更好(和更快),否则此解决方案将为您提供良好的服务。
您可能想要考虑使用正则表达式的其他替代方法。
例如,有NumberFormatter
类,它提供灵活的数字和货币解析和格式化 ,并具有内置国际化支持。
它内置于PHP 5.3及更高版本中,可作为早期版本的PHP 5的扩展。
试试这个正则表达式:
^(?:[1-9]\d+|\d)(?:\.\d\d)?$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.