PHP regex dize biçimini denetleme

0 Cevap php

I "/^[a-zA-Z0-9_-]+$/" verilen dize yalnızca orada karakterler ve başka bir şey içerdiğinden emin olmak için çalışırken ile preg_match kullanmaya çalışıyorlar, ama bu tüm yol eşleşir böylece düzgün $ sayma değil gibi görünüyor satır sonu, ama ^ kullanarak dize başında maçı gerektirir.

I {3,} yerine kullanırsanız +: "/^[a-zA-Z0-9_-]{3,}$/" ki ben ilk başta vardı, nasıl ben 3 harf / rakam, yazabilirim - veya _ ve sonra herhangi bir bu ve bir maç olarak saymaya kalksanız başka bir karakter.

kodu:

  if(preg_match("/^[a-zA-Z0-9_-]+$/", $value, $arr) && strlen($value) > 3)
  {
   echo $good .' Ok';
  }
  else
  {
   echo $bad .' Invalid username. (letters & numbers only)';
  }

$ değer olarak aşağıdaki gibi şeyler kullanıyorsanız, o çünkü alanı olarak geçersiz kullanıcı adı geliyor ya ve gerektiği zaman ok bana söyler karakter.

word

sözcük ve sözcük

And it turns out it was because the values were being sent to the page through $_GET and $value of something such as "sözcük ve sözcük" came up as "word" instead... is there a way to fix that?

0 Cevap