2010-02-24 131 views

回答

10
+0

这是怎么比'^ \ p {}字母+ $'好?它看起来严重得多。 – tchrist 2011-02-10 15:23:53

+2

对不起,它为什么看起来更糟? – gnud 2011-02-10 18:06:53

1

如果你严格要找的is_numeric()相反,不会对!is_numeric()你做的工作?或者我误解了这个问题?

+0

你误解了这个问题。 '!is_numeric(“ab12”)=== true'。他想检查一个字符串是否包含_only_字母。 – gnud 2010-02-24 01:55:25

+0

啊,我明白了。谢谢你清理那个。 – ehdv 2010-02-24 02:13:59

0

我会用preg_match。但那是因为我从来没有听说过ctype_alpha()

if(!preg_match("/[^a-zA-Z]/", $teststring)) { 
    echo "There are only letters in this string"; 
} else { 
    echo "There are non-letters in this string"; 
} 
+0

如果你有特殊需要,就像只有字母+逗号和空格,那么正则表达式就是你最好的选择:) – gnud 2010-02-24 01:58:28

+1

当我输入答案时,我喜欢/讨厌它,并且我加载新答案只看到一个比我写的那个更好。 – Erik 2010-02-24 01:58:53

+0

请勿仅使用'[a-zA-Z]'字母!使用'\ pL'。真正的字母属性更好:'\ p {Alphabetic}'。 [这是为什么。](http://stackoverflow.com/questions/4955086/sort-upper-case-just-before-lowercase-key-values-from-a-hash/4958634#4958634) – tchrist 2011-02-10 15:23:12

0

!is_numeric((float)$variableToBeChecked); preg_match('#^[a-z]+$#i',$variableToBeChecked); // for one or more letter character