首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何改进这个正则表达式验证?

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

Stack Overflow用户
提问于 2020-03-29 02:20:15
回答 1查看 51关注 0票数 1

我试图为描述用户的textarea>编写一个表单验证,比如他/她的教育或经验。

我为这个文本区域编写了这个Regex,但是如果用户在逗号以上使用它是不允许的,例如,如果用户写了"House‘s",它就不允许写这个逗号。

当用户描述拥有时,PWhich符号可能需要或谓词?

我用了这个Regex:

代码语言:javascript
代码运行次数:0
运行
复制
$descriptionValidation = "/^[a-zA-Z0-9\.\-\,\"\(\) ]+[a-zA-Z0-9\.\-\,\"\(\) ]*$/";
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-28 01:35:24

若要匹配整个字符串并要求字符串仅由字母数字字符和:点、逗号、单引号(也称为撇号,但不是“高于逗号”)、双引号、左括号、右括号、空格和连字符组成,请使用以下表达式。

^$元字符确保字符跨越字符串的整个长度。+是指列表中的一个或多个字符。“列表”在技术上被称为“字符类”。a-z是字母的全部范围,\d是数字的全部范围。-在字符类中确实有特殊的意义,但前提是它在字符类的两边都有一个非范围表达式。如果希望防止字符类中的连字符出现错误,可以添加反斜杠来转义它,也可以在字符类的开头或结尾写入连字符,或者可以在字符范围旁边写。

代码语言:javascript
代码运行次数:0
运行
复制
/^[a-z\d.,'"() -]+$/i

在php中使用单引号声明此模式时,需要在字符类中转义单引号。

代码语言:javascript
代码运行次数:0
运行
复制
$descriptionValidation = '/^[a-z\d.,\'"() -]+$/i';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60909437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档