在这个输入字段中,我希望用户不能使用以下特殊标记:{}[]$
现在我的代码中有以下解决方案,但问题是它不允许 ä、ö、ü 或其他类似字符。
if (preg_match('/^[-a-zA-Z0-9 .]+$/', $string) || empty($string)){
echo "Everything ok!";
else{
echo "Everything not ok!";}
因此,我尝试使用 preg_match('/^[\p{L}\p{N} .-]+$/', $string) 因为据说它允许来自任何语言的字符,但该解决方案除外不允许像 @ 和 * 这样的标记,我认为可能需要这些标记。那么有什么解决方案允许除 {}[]$ 标记之外的任何内容吗?非常感谢您的帮助,因为我不知道要写什么才能使其正常工作。
最佳答案
这就是我的做法:
if (preg_match('/[^a-zA-Z\d]/', $string)) {
//$string contains special characters, do something.
}
关于php - 如何在 php 中检查字符串是否包含 { 和 } 等特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22390091/