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