javascript - 用于修剪空格以验证名称输入的正则表达式问题
问题描述
检查输入的名称值是否包含名字和姓氏,中间有空格。我使用以下正则表达式,但是当有尾随空格时会遇到问题,它返回 false。如何忽略正则表达式中的尾随空格?
var nameArr = value.match(/^([^ ]{1,50})[, ]+(.{0,49}[^ ,])$/);
我解决尾随空格的方法 var nameArr = value.trim().match(/^([^ ]{1,50})[, ]+(.{0,49}[^ ,])$/); 除了使用 trim 方法还有其他方法吗?
解决方案
您可以使用\s*
匹配零个或多个空格。在正则表达式的末尾和开头使用它以允许前导和尾随空格:
var nameArr = value.match(/^\s*([^ ]{1,50})[, ]+(.{0,49}[^ ,])\s*$/);
推荐阅读
- python - 在 Python 中,如何使用 xml.etree.ElementTree 创建数据框?
- gradle - 如何在多项目构建中列出所有 Gradle 项目
- r - 根据第一次出现的 ifelse / case_when 条件创建一个新列
- python - Tweepy 完整存档搜索、Twitter 高级搜索和 GetOldTweets3 返回不同数量的推文
- c++ - 如何在控制台上打印出数字 0-99 的简单数组
- jpa - 在 Spring Data JPA 中,何时声明方法与何时直接使用方法而不声明?
- reactjs - 在反应引导程序中,如何在推送中增加计数器?
- javascript - 为什么不调用useEffect,当props发生变化时,调用render?
- python - 无法根据“安全”将数组数据从 dtype('float64') 转换为 dtype('int32')
- python - 为什么我的while循环有时会卡住,但有时不会在我的“秘密圣诞老人”程序中?