Never heard of ereg
, but I'd guess that it will match on substrings.
In that case, you want to include anchors on either end of your regexp so as to force a match on the whole string:
"^[a-zA-Z]+$"
Also, you could simplify your function to read
return ereg("^[a-zA-Z]+$", $myString);
because the if
to return true
or false
from what's already a boolean is redundant.
Alternatively, you could match on any character that's not a letter, and return the complement of the result:
return !ereg("[^a-zA-Z]", $myString);
Note the ^
at the beginning of the character set, which inverts it. Also note that you no longer need the +
after it, as a single "bad" character will cause a match.
Finally... this advice is for Java because you have a Java tag on your question. But the $
in $myString
makes it look like you're dealing with, maybe Perl or PHP? Some clarification might help.