I want the user to be able to enter every character from A-Z and every number from 0-9, but I don't want them entering "special characters".
Code:
if (preg_match("/^[a-zA-Z0-9]$/", $user_name)) {
#Stuff
}
How is it possible for it to check all of the characters given, and then check if those were matched? I've tried preg_match_all()
, but I didn't honestly understand much of it.
Like if a user entered FaiL65Mal
, I want it to allow it and move on. But if they enter Fail{]^7(,
, I want it to appear with an error.
You just need a quantifier in your regex:
Zero or more characters *
:
/^[a-zA-Z0-9]*$/
One or more characters +
:
/^[a-zA-Z0-9]+$/
Your regex as is will only match a string with exactly one character that is either a letter or number. You want one of the above options for zero or more or one or more, depending on if you want to allow or reject the empty string.