PHP,如何检查正则表达式中的大写/小写/数字/特殊

时间:2015-11-08 07:26:41

标签: php regex

我试图创建一个类来验证传递给函数的参数,但只有原始值。到目前为止,我已经完成了整数,布尔和浮点数。但是使用我的字符串函数,我还希望能够传递有关允许的字符集的参数。 像:

  • 允许大写
  • 允许小写
  • 允许的数字
  • 允许使用特殊字符

但是,我无法弄清楚如何测试它。我试过用正则表达式来做这件事,但我最好的试验并不是很好。

任何朝着正确方向的推动都会有很大的帮助。

请注意,我使用旧版本的PHP - 5.1.2

2 个答案:

答案 0 :(得分:3)

取决于什么特色。可以尝试使用preg_match

preg_match('/^[[:alnum:][:punct:]]+$/', $str)

查看demo at regex101

  • [:alnum:]匹配[a-zA-Z0-9]
  • [:punct:]匹配[!"#$%&'()*+,\-./:;<=>?@[\\\]^_{|}~]并反击。
  • +^开始到$结束
  • 之后的一个或多个

See more posix classes

答案 1 :(得分:-1)

试试这个:

if(!preg_match('/[.\s]/', $string))
{
  // it contains any single character except dot and white space
  // you can change not permitted list on your demand
}