我试图为描述用户的textarea>编写一个表单验证,比如他/她的教育或经验。
我为这个文本区域编写了这个Regex,但是如果用户在逗号以上使用它是不允许的,例如,如果用户写了"House‘s",它就不允许写这个逗号。
当用户描述拥有时,PWhich符号可能需要或谓词?
我用了这个Regex:
$descriptionValidation = "/^[a-zA-Z0-9\.\-\,\"\(\) ]+[a-zA-Z0-9\.\-\,\"\(\) ]*$/";
发布于 2020-12-27 17:35:24
若要匹配整个字符串并要求字符串仅由字母数字字符和:点、逗号、单引号(也称为撇号,但不是“高于逗号”)、双引号、左括号、右括号、空格和连字符组成,请使用以下表达式。
^
和$
元字符确保字符跨越字符串的整个长度。+
是指列表中的一个或多个字符。“列表”在技术上被称为“字符类”。a-z
是字母的全部范围,\d
是数字的全部范围。-
在字符类中确实有特殊的意义,但前提是它在字符类的两边都有一个非范围表达式。如果希望防止字符类中的连字符出现错误,可以添加反斜杠来转义它,也可以在字符类的开头或结尾写入连字符,或者可以在字符范围旁边写。
/^[a-z\d.,'"() -]+$/i
在php中使用单引号声明此模式时,需要在字符类中转义单引号。
$descriptionValidation = '/^[a-z\d.,\'"() -]+$/i';
https://stackoverflow.com/questions/60909437
复制