Heim >Backend-Entwicklung >PHP-Tutorial >Gibt es ein Problem damit, diesen regulären Ausdruck so zu schreiben?

Gibt es ein Problem damit, diesen regulären Ausdruck so zu schreiben?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-08-04 09:20:411174Durchsuche

Egal ob ich Englisch oder Chinesisch eingebe, warum wird mir immer angezeigt, dass es illegal ist?

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

Antwortinhalt:

Egal ob ich Englisch oder Chinesisch eingebe, warum wird mir immer angezeigt, dass es illegal ist?

<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>
  1. w kann nur Buchstaben, Zahlen und Unterstriche finden

  2. Ohne die Einschränkung ^ $ ist es immer wahr, solange es mehr als 20 Zeichen gibt. Beispielsweise sind auch 1000 A wahr

  3. u-Modifikator macht die niedrigere Version von PHP chinesisch-freundlich. Ich habe PHP7 getestet und es ist das Gleiche, ob u hinzugefügt wird oder nicht.

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

Sie können es ausprobieren, Chinesisch ist auch verfügbar

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn