Maison > développement back-end > tutoriel php > 这个正则这样写有问题吗?

这个正则这样写有问题吗?

WBOY
Libérer: 2016-08-04 09:20:41
original
1140 Les gens l'ont consulté

不管输入英文还是中文 为什么老是提示不合法呢?

<code>$reg1='/\w{20,100}/';
$a=str_replace(" ","",$_POST['name']);
if(preg_match($reg1, $a)){
                echo "合法";
              }else{
                echo "不合法";
              }</code>
Copier après la connexion
Copier après la connexion

回复内容:

不管输入英文还是中文 为什么老是提示不合法呢?

<code>$reg1='/\w{20,100}/';
$a=str_replace(" ","",$_POST['name']);
if(preg_match($reg1, $a)){
                echo "合法";
              }else{
                echo "不合法";
              }</code>
Copier après la connexion
Copier après la connexion

<code class="php">$reg1='/^.{20,100}$/u';</code>
Copier après la connexion
  1. \w 只能匹配 字母+数字+下划线

  2. 不加 ^ $ 限制的话,就变成只要有20以上的字符永远成立了,比如1000个a也成立

  3. u 修饰符,让低版本 php 中文友好,php7我测试了,加不加 u 都一样。

<code>$reg1='/([\x{4e00}-\x{9fa5}]|\w){20,100}$/u';
</code>
Copier après la connexion

你试试看,中文也可以

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal