dreamwest Posted November 8, 2010 Share Posted November 8, 2010 Why dosent this work, im trying to match upper case, lower case and numbers only $id = '3xDJ7@#'; if (!preg_match('/^[a-zA-Z0-9]/', $id)){ echo "ERROR!"; }else{ echo 'ok'; } This always echos "ok" Quote Link to comment https://forums.phpfreaks.com/topic/218095-preg_match/ Share on other sites More sharing options...
sasa Posted November 8, 2010 Share Posted November 8, 2010 you just check first character of string if you want to check it all change patern to '/^[a-zA-Z0-9]+$/' Quote Link to comment https://forums.phpfreaks.com/topic/218095-preg_match/#findComment-1131751 Share on other sites More sharing options...
dreamwest Posted November 8, 2010 Author Share Posted November 8, 2010 Supa sweet! Quote Link to comment https://forums.phpfreaks.com/topic/218095-preg_match/#findComment-1131753 Share on other sites More sharing options...
salathe Posted November 8, 2010 Share Posted November 8, 2010 dreamwest, and anyone else stumbling on this thread, please see http://php.net/regexp.reference.anchors for details on using "anchors" with your regular expressions. Outside a character class ... the circumflex character (^) is an assertion which is true only if the current matching point is at the start of the subject string. A dollar character ($) is an assertion which is TRUE only if the current matching point is at the end of the subject string, or immediately before a newline character that is the last character in the string (by default). Quote Link to comment https://forums.phpfreaks.com/topic/218095-preg_match/#findComment-1131761 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.