允许的字符的正则表达式

2022-03-29 00:00:00 regex php preg-match

我需要检查我的PHP代码中的字符串是否只包含指定的字符列表。但由于它们中的一些可能需要环境,我就是不能让它工作。我什么都试过了,但就是不管用...

所需的验证为:

  • 0-9
  • A-Z
  • a-z
  • 字符:.%^&;()$#@!/-+/

基本上,我想检查是否存在未知的ASCII字符(我不知道是否已经有函数可以这样做)。

我的代码现在是这样的:

if(preg_match("/[A-Za-z0-9.#-+*\/=\_\%$()]/", $cmd) === false)

那么,所有字符都是特殊的吗?


解决方案

您可能在regexp的末尾缺少*。此外,您还可以将集合表示为类似[x00-x7F](取自here)。

这应该是可行的:

[x00-x7F]*

相关文章