在PHP中,如何检查String是否只包含字母?我想写一个if语句,如果有(空格,数字,符号)或除了a-z和之外的任何其他内容,将返回false A-Z.
我的字符串必须只包含字母.
我以为我可以这样做,但我做错了:
if( ereg("[a-zA-Z]+", $myString))
return true;
else
return false;
Run Code Online (Sandbox Code Playgroud)
如何确定是否myString只包含字母?
从来没有听说过ereg,但我猜它会在子串上匹配.
在这种情况下,您希望在正则表达式的任一端包含锚点,以便强制匹配整个字符串:
"^[a-zA-Z]+$"
Run Code Online (Sandbox Code Playgroud)
此外,您可以简化您的阅读功能
return ereg("^[a-zA-Z]+$", $myString);
Run Code Online (Sandbox Code Playgroud)
因为if要返回true或者false已经是布尔值是多余的.
或者,您可以匹配任何不是字母的字符,并返回结果的补码:
return !ereg("[^a-zA-Z]", $myString);
Run Code Online (Sandbox Code Playgroud)
请注意^字符集的开头,它反转它.另请注意,您不再需要+它,因为单个"坏"字符将导致匹配.
最后......这个建议是针对Java的,因为你Java的问题上有一个标签.但是,$在$myString使它看起来像你正在处理的,也许Perl或PHP?一些澄清可能会有所帮助.