On Thu, 4 Jul 2002, SP wrote: > Hi I am trying to check if a word contains only capital letters. For > some reason it's not working. The below example is checking the word > "weird" to see if it's all capital letters but it's saying it's matches. > I've tried checking for only lower case letters with "WEIRD" and it's > not working there too. What am I doing wrong? > > > $pattern = "A-Z"; > $regexp = '/^['.$pattern.']*$/i'; > if( preg_match($regexp, "weird") ) > echo "matches"; > else > echo "does not match";
Easiest approach: if ($str != strtoupper($str)) echo 'String contains lower-case letters.'; Using preg: if (preg_match('/[a-z]/', $str)) echo 'String contains lower-case letters.'; If you don't want any other characters to appear, ONLY capital letters (your question was a little ambiguous to me): if (preg_match('/[^A-Z]/', $str)) echo 'String contains something other than capital letters.'; miguel -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php