如何改进这个正则表达式验证?

我试图为用户的描述 textarea> 编写一个表单验证,以了解他们自己的教育或经验。
我为这个文本区域写了这个正则表达式,但是如果用户使用上面的逗号是不允许的,我会遇到问题,例如,如果用户写了“House's”,就不允许写这个逗号'。
P当用户描述拥有时,可能需要哪些符号或谓词?

我使用了这个正则表达式:

$descriptionValidation = "/^[a-zA-Z0-9\.\-\,\"\(\) ]+[a-zA-Z0-9\.\-\,\"\(\) ]*$/";


噜噜哒
浏览 69回答 1
1回答

慕标5832272

匹配整个字符串并要求字符串仅包含字母数字字符和:点、逗号、单引号(也称为撇号,但不是“逗号上方”)、双引号、左括号、右括号、空格和连字符,请使用以下表达式。和^元$字符确保字符跨越字符串的整个长度。+表示列表中的一个或多个任意字符。“列表”在技术上称为“字符类”。 a-z是全范围的字母,\d是全范围的数字。 -在字符类内部确实具有特殊含义,但前提是它在其两侧都有非范围表达式。如果您希望防止字符类中的连字符出现错误,可以添加反斜杠以将其转义,或者可以在字符类的开头或结尾处写连字符,或者可以将其写在字符范围旁边。/^[a-z\d.,'"() -]+$/i在 php 中使用单引号声明此模式时,您需要在字符类中转义单引号。$descriptionValidation = '/^[a-z\d.,\'"() -]+$/i';
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript