PHP正则表达式[仅接受选定字符]

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

我想接受一个字符列表作为用户的输入,并拒绝其他字符。我可以接受格式化的字符串或查找是否缺少字符/字符串。 而是我如何只接受一组角色,而拒绝所有其他角色。我想使用preg_Match来完成此操作。

例如,允许的字符有:a..z、A..Z、-、‘’ 用户必须能够以任何顺序输入这些字符。但不得使用这些字符以外的其他字符。


解决方案

使用否定的字符类:[^A-za-z-w]

只有当用户输入的内容不是该字符类中的内容时,才会匹配。

if (preg_match('/[^A-Za-z-w]/', $input)) { /* invalid charcter entered */ }

相关文章