允许的字符的正则表达式
我需要检查我的PHP代码中的字符串是否只包含指定的字符列表。但由于它们中的一些可能需要环境,我就是不能让它工作。我什么都试过了,但就是不管用...
所需的验证为:
- 0-9
- A-Z
- a-z
- 字符:.%^&;()$#@!/-+/
基本上,我想检查是否存在未知的ASCII字符(我不知道是否已经有函数可以这样做)。
我的代码现在是这样的:
if(preg_match("/[A-Za-z0-9.#-+*\/=\_\%$()]/", $cmd) === false)
那么,所有字符都是特殊的吗?
解决方案
您可能在regexp的末尾缺少*
。此外,您还可以将集合表示为类似[x00-x7F]
(取自here)。
这应该是可行的:
[x00-x7F]*
相关文章