繁体   English   中英

如何检查字符串在PHP中是否仅包含字母?

[英]How to check if a string contains only letters in PHP?

我想编写一个PHP代码,检查一个变量是否只包含字母,不包含字符,不包含数字,我已经输入了它,但是它不起作用:

$myVar = "Var#iable5";

ereg(^[a-zA-Z] , $myVar)

无需正则表达式:

$result = ctype_alpha($myVar);

首先不使用ereg()。 从字面上看,这已经有几年了,并且会在某些时候从PHP中删除。 另外,您的模式不正确。 使用时, ^是模式锚,表示“行首”。

你要:

preg_match('/[^a-zA-Z]/', $myVar)

代替。 作为[]组内的第一个字符, ^表示“ Not”,因此您尝试使用的是“ NOt a-zA-Z”,而不是“ [a-zA-Z]”。

PHP有一个内置函数可以做到这一点: ctype_alpha

$myVar = "Var#iable5"; 
var_dump (ctype_alpha($myVar)); // false

从文档:

检查提供的字符串,文本中的所有字符是否都是字母。 在标准C语言环境中,字母$ [A-Za-z]和ctype_alpha()等效于(ctype_upper($ text)|| ctype_lower($ text)),如果$ text只是一个字符,但其他语言都有字母不被认为是大写或小写。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM