php 正则验证输入金额
时间: 2023-07-26 17:26:21 浏览: 98
可以使用正则表达式来验证输入金额是否合法。以下是一个简单的 PHP 正则表达式,可以验证金额是否为正数,且最多有两位小数:
```php
$amount = '123.45';
if (preg_match('/^\d+(\.\d{1,2})?$/', $amount)) {
echo "合法的金额!";
} else {
echo "非法的金额!";
}
```
解释一下上面的正则表达式:
- `^`:匹配字符串的开头
- `\d+`:匹配一个或多个数字
- `(\.\d{1,2})?`:匹配一个小数点和一到两个数字,这个组合可选,也就是说小数部分可以没有
- `$`:匹配字符串的结尾
也可以使用 PHP 内置的 `filter_var()` 函数来验证金额是否合法:
```php
$amount = '123.45';
if (filter_var($amount, FILTER_VALIDATE_FLOAT) !== false) {
echo "合法的金额!";
} else {
echo "非法的金额!";
}
```
`FILTER_VALIDATE_FLOAT` 表示验证浮点数,如果 `$amount` 是一个合法的浮点数,则返回该浮点数,否则返回 `false`。
阅读全文