Ugluth Posted December 22, 2010 Share Posted December 22, 2010 Hello I just read the tutorial on the site about regular expresions which was really nice. After reading i tried putting some of that knowledge in practice with no results though. I only want the user to enter letters and not digits. So I used if (isset($_POST['name']) && preg_match("/^[A-Za-z$]/", $_POST['name'])) { $name = mysql_real_escape_string($_POST['name']); echo "ok"; } else { echo "Category name must be a word!<br />"; When i enter something starting with a letter it passes the check. If something starts with a number it doesnt. The problem is that if i enter asdf123 it passes the test, while it shouldn't. I think it has something to do with the $ but i'm not really sure whats wrong with it. Could someone please tell me what I'm doing wrong? I'm sure its something pretty silly but i can't figure it out. Quote Link to comment Share on other sites More sharing options...
Ugluth Posted December 22, 2010 Author Share Posted December 22, 2010 Terribly sorry for the post but i just figured it out right after posting and checking the tutorial again, sorry for the trouble. preg_match("/^[A-Za-z]+$/", $_POST['name']) Fixed my problem. If there's something wrong with using this please do tell me. Quote Link to comment Share on other sites More sharing options...
Pikachu2000 Posted December 23, 2010 Share Posted December 23, 2010 Using a pattern for that is overkill. ctype_alpha would be fine, presuming spaces are also disallowed. Quote Link to comment 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.