if(!preg_match('^[\+0-9\s\-]+$',$tel_nr))
{
die("Invalid number.");
}
我希望数字只是数字,空格,减号,加号,没有别的,最后最好是5位数,最多12位数。
当我尝试时会发生什么事情,没有任何事情发生,即:“12345”失败。
任何帮助?
答案 0 :(得分:8)
!preg_match('/^[\+0-9\s\-]{5,12}$/',$tel_nr))
你忘了使用分隔符。
答案 1 :(得分:0)
添加分隔符+ {minlength,maxlength}
if(!preg_match('~^[\+0-9\s\-]{5,12}$~',$tel_nr))
{
die("Invalid number.");
}
答案 2 :(得分:0)
您必须使用/来分隔表达式的开头和结尾。以下代码有效:
if (!preg_match('/^[\+0-9\s\-]+$/',$tel_nr)) {
die("Invalid number.");
}
答案 3 :(得分:0)
您是在寻找5-12个字符,还是5-12个数字,其他字符是可选的?如果是数字,你需要这样的东西:
if (!preg_match('~^(?:[\+\s\-]*[0-9]){5,12}[\+\s\-]*$~', $tel_nr))