为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

噜噜哒 2022-06-05 10:55:55
我试图为用户的描述 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';


查看完整回答
反对 回复 2022-06-05
  • 1 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信