ctype_alpha() 是检查字符串是不是仅包含字母的更好方法吗

Posted

技术标签:

【中文标题】ctype_alpha() 是检查字符串是不是仅包含字母的更好方法吗【英文标题】:Is ctype_alpha() a better way to check if a string contains just lettersctype_alpha() 是检查字符串是否仅包含字母的更好方法吗 【发布时间】:2014-01-23 01:22:40 【问题描述】:

过去,我一直使用preg_match()来做这件事。

刚刚在http://www.php.net/manual/en/function.ctype-alpha.php 遇到ctype_alpha()

这是确认字符串只包含字母的更快和/或更少资源密集型的方法吗?

请注意,稍后我将在 SQL 查询中使用此字符串,并将在其周围加上引号,但不会为 SQL 注入做更多的事情。我知道这不是典型的,但是,我正在生成动态 SQL,并希望这样做。

【问题讨论】:

你对just letters的定义是什么? @AmalMurali A-Za-z。我想其他人也可以,只要不可能有 SQL 注入。该字符串稍后将放在 WHERE 子句中,例如 $sql="SELECT * FROM tbl WHERE col='$string' 请注意,此查询是一个简单的示例,我知道有更好的解决方案可用。 这可能会有所帮助:codepad.org/ZIuMHd1Z @AmalMurali。听起来你的意见是“是”。看到任何负债了吗? 【参考方案1】:

ctype-alpha 可以有两个正数,而不仅仅是一个。检查php手册上关于'Tyrunur'的注释,然后认为字符串是否为空为真(第二种状态)。

所以在进入你的 sql 之前,你有:

首先为每个网络用户设置和控制每个“语言环境”, 那么是否为空并且 是否为有效字符串。

在这些之后,您可以使用 ctype-alpha。 你确定这么快?我不相信。

【讨论】:

以上是关于ctype_alpha() 是检查字符串是不是仅包含字母的更好方法吗的主要内容,如果未能解决你的问题,请参考以下文章

PHP函数 ------ ctype_alnum

OCAC暑期比赛第一场 F题 字符串加密 题解

九度OJ 1535 重叠的最长子串

微服务架构中的授权/认证

Nodejs检查给定的字符串是不是是有效的文件系统路径而不实际检查文件系统

如何检查字符串是不是是UTF8编码