检查字符串中是否包含除连字符以外的特殊字符?

时间:2018-12-15 14:13:19

标签: php

如何检查字符串中是否包含除连字符以外的特殊字符?

示例:

$str1 = "what?"; 
has_special_characters_except_hyphen($str1); // should return true

$str2 = "whats-up"; 
has_special_characters_except_hyphen($str2); // should return false

function has_special_characters_except_hyphen($str) {
     // check for special characters except hyphen
}

1 个答案:

答案 0 :(得分:3)

一个选项使用preg_match[^A-Za-z0-9-]模式:

$str1 = "what?";
if (preg_match("/[^A-Za-z0-9-]/", $str1)) {
    echo "YES";
}

如果YES中至少有一个不是字母数字或连字符的字符,则会打印$str1