PHP:只检查字符

时间:2011-01-23 12:38:58

标签: php

如何检查变量是否仅包含字符而不包含数字?

我检查了is_string,但是如果你把变量设为“123”,那么你可能会破解它。

2 个答案:

答案 0 :(得分:3)

使用ctype_alpha()

  

检查提供的字符串中的所有字符是否为字母。

请注意,此函数似乎是特定于语言环境的,因此如果要测试元音变换/重音字符,则可能必须先设置正确的语言环境。

如果使用locales不是一个选项,here是一种基于正则表达式的方法,它承诺检测所有语言中的Unicode符号,如果它有效,这将是完美的方法(我自己没有测试过它)

答案 1 :(得分:2)

ctype_alpha()正是您要找的。

来自文档:

  

检查提供的字符串中的所有字符是否为字母。

     

在标准C语言环境中,字母只是[A-Za-z]而ctype_alpha()等同于(ctype_upper($text) || ctype_lower($text)),如果$text只是一个字符,但其他语言的字母是被认为既不是大写也不是小写。

用法:

if(ctype_alpha($string)) {
  //variable is characters only
}