我试图为用户的描述 textarea> 编写一个表单验证,以了解他们自己的教育或经验。我为这个文本区域写了这个正则表达式,但是如果用户使用上面的逗号是不允许的,我会遇到问题,例如,如果用户写了“House's”,就不允许写这个逗号'。P当用户描述拥有时,可能需要哪些符号或谓词?我使用了这个正则表达式:$descriptionValidation = "/^[a-zA-Z0-9\.\-\,\"\(\) ]+[a-zA-Z0-9\.\-\,\"\(\) ]*$/";
1 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
匹配整个字符串并要求字符串仅包含字母数字字符和:点、逗号、单引号(也称为撇号,但不是“逗号上方”)、双引号、左括号、右括号、空格和连字符,请使用以下表达式。
和^
元$
字符确保字符跨越字符串的整个长度。+
表示列表中的一个或多个任意字符。“列表”在技术上称为“字符类”。 a-z
是全范围的字母,\d
是全范围的数字。 -
在字符类内部确实具有特殊含义,但前提是它在其两侧都有非范围表达式。如果您希望防止字符类中的连字符出现错误,可以添加反斜杠以将其转义,或者可以在字符类的开头或结尾处写连字符,或者可以将其写在字符范围旁边。
/^[a-z\d.,'"() -]+$/i
在 php 中使用单引号声明此模式时,您需要在字符类中转义单引号。
$descriptionValidation = '/^[a-z\d.,\'"() -]+$/i';
添加回答
举报
0/150
提交
取消