Re: REG-EXPR: Allowing limited number of special chars in usernames

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Holger Sunke wrote:
I dont know that much aboput regular expressions and just want to
know how to find out the number of special (non alphanumeric)
characters in a string or how to match a string that contains less
than 3 special chars.

	I don't really understand what you need, but...
- how to find out the number of special (non alphanumeric) characters
  $alpha         = '[a-z0-9]';
  $special_chars = preg_replace("/$alpha+/Xi", '', $string);
  * this would replace any alpha-numeric char by... nothing, leaving
    the "special chars" only, and strlen() will give you how many are
  * beware that you're saying *anything* other than alpha-numeric chars

- how to match a string that contains less than 3 special chars
  * as I said above, strlen() will give you the number of these chars:
  $num_special_chars = strlen($special_chars);

preg_match('/^[ -~äöüßÄÖÜ]+$/',$string)

will return TRUE if $string consists enterily of the chars between the square-brackets.

	I hope this helped a little.

urrently im using a function

function valid_username($string) {
   if(strlen($string)<=16&&strlen($string)>5) {
      return(preg_match('/^[ -~äöüßÄÖÜ]+$/',$string));
   } else {
      return FALSE;
   }
}

This allows usernames of 6 to 16 length containing many special chars
and German "Umlaute". But this also allows usernames like "=)/(&%$"
what should not be.

So how to limit the number of special chars? This function should
just return fals if number of special chars > X
--
Atentamente,
J. Rafael Salazar Magaña
Innox - Innovación Inteligente
Tel: +52 (33) 3615 5348 ext. 205 / 01 800 2-SOFTWARE
http://www.innox.com.mx

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux