我写了regex
来检查表单中的输入数字:
if (!preg_match("/^0\d{10}+|^9\d{9}+/",$_POST['number'])){
echo "Error";
}else{
echo "Ok";
}
此代码将检查最小长度,但如果长度超过10或9个字符,则此正则表达式无效!
我该怎么办?我应该在正则表达式后用strlen
检查,还是我可以限制最大长度?
更新
如果以0开头,则字符串长度应为10个字符,如果以9开头则应为9个字符,并且应以其他方式返回false(或多或少的长度,以不同的数字开头......)
答案 0 :(得分:0)
您可以使用此正则表达式:
'/^(0\d{9}|9\d{8})$/'
如果以0开头,这将允许字符串长度正好为10个字符,如果输入以9开头,则字符串长度应为9个字符。
答案 1 :(得分:0)