如何使字符串仅使用数字和字母以及某些符号?

时间:2016-11-25 20:41:59

标签: php

我使用PHP。

示例:

$string = "Hello world!";
if(!safeString()){
   setBlocked(true);
}

function safeString(){
//check string        
}

在safeString()中,我想检查以下这些特性:

字符串只能

  • 字母
  • 数字
  • 仅限这些符号(!@#$%^& * /)

如果它包含任何其他不允许的字符,则会被阻止。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

尝试:

function safeString($input){
   if( preg_match("/[^0-9a-zA-Z!@#\$%\^&\*\/]/",$input) ) return false;
   return true;
}

小心重音字符(áéíóú)和类似的东西,如果你想要它们,你可以修改preg_match第一个参数:

"/[^0-9a-zA-Z!@#\$%\^&\*\/áéíóú]/"

如果您想要允许空格,您可以添加“\ s”:

"/[^0-9a-zA-Z!@#\$%\^&\*\/\s]/"

等等......

此处提供更多帮助:PhpRegExp