时间:2021-07-01 10:21:17 帮助过:9人阅读
- <code>$reg1='/\w{20,100}/';
- $a=str_replace(" ","",$_POST['name']);
- if(preg_match($reg1, $a)){
- echo "合法";
- }else{
- echo "不合法";
- }</code>
不管输入英文还是中文 为什么老是提示不合法呢?
- <code>$reg1='/\w{20,100}/';
- $a=str_replace(" ","",$_POST['name']);
- if(preg_match($reg1, $a)){
- echo "合法";
- }else{
- echo "不合法";
- }</code>
- <code class="php">$reg1='/^.{20,100}$/u';</code>
\w 只能匹配 字母+数字+下划线
不加 ^ $ 限制的话,就变成只要有20以上的字符永远成立了,比如1000个a也成立
u 修饰符,让低版本 php 中文友好,php7我测试了,加不加 u 都一样。
- <code>$reg1='/([\x{4e00}-\x{9fa5}]|\w){20,100}$/u';
- </code>
你试试看,中文也可以