首页 > 解决方案 > 用于修剪空格以验证名称输入的正则表达式问题

问题描述

检查输入的名称值是否包含名字和姓氏,中间有空格。我使用以下正则表达式,但是当有尾随空格时会遇到问题,它返回 false。如何忽略正则表达式中的尾随空格?

var nameArr = value.match(/^([^ ]{1,50})[, ]+(.{0,49}[^ ,])$/);

我解决尾随空格的方法 var nameArr = value.trim().match(/^([^ ]{1,50})[, ]+(.{0,49}[^ ,])$/); 除了使用 trim 方法还有其他方法吗?

标签: javascriptregex

解决方案


您可以使用\s*匹配零个或多个空格。在正则表达式的末尾和开头使用它以允许前导和尾随空格:

var nameArr = value.match(/^\s*([^ ]{1,50})[, ]+(.{0,49}[^ ,])\s*$/);

推荐阅读