使用正则表达式,判断年龄是否合法,要求年龄在0-200之间。php
时间: 2024-10-21 19:14:32 浏览: 27
在PHP中,可以使用正则表达式来验证输入的年龄是否符合0到200之间的范围。首先,我们需要创建一个正则表达式模式来匹配这个范围。一个简单的正则表达式可能是:
```regex
^[0-9]{1,3}(?:\.[0-9]{1,2})?$|^(2[0-9]{2}|[1-9][0-9]{1,})$
```
这里解释一下这个正则表达式的各个部分:
- `^` 表示字符串的开始。
- `[0-9]{1,3}` 匹配1到3位的数字(0-9代表数字,{1,3}表示前面的字符可以出现1次到3次)。
- `(?:\.[0-9]{1,2})?` 是可选的,匹配小数点后最多两位数字(`\.`匹配点,`{1,2}`同样指定了次数)。
- `|` 是"或"的意思,它后面的模式也是需要匹配的一种情况。
- `2[0-9]{2}` 匹配2开头的四位数(例如2000-2999)。
- `[1-9][0-9]{1,}` 匹配1到9开头的一到三位数(例如100-199或1000-9999)。
然后,你可以结合PHP的preg_match函数来验证输入的年龄:
```php
function isValidAge($age) {
$pattern = '/^[0-9]{1,3}(?:\.[0-9]{1,2})?$|^(2[0-9]{2}|[1-9][0-9]{1,})$/';
if (preg_match($pattern, $age)) {
return true;
} else {
return false;
}
}
$ageInput = '18'; // 测试年龄
if (isValidAge($ageInput)) {
echo "年龄合法";
} else {
echo "年龄不合法";
}
```
阅读全文