js正则表达式怎么匹配英文和空格?

JavaScript014

js正则表达式怎么匹配英文和空格?,第1张

首先去掉首末位空格。\x0d\x0avarstr=input.replace(/(^\s*)|(\s*$)/g,"")\x0d\x0a验证名字\x0d\x0a字符头尾是字母,中间由空格和字母组成,中间可以有多个空格,如:TaylorGreSwift\x0d\x0a/^[A-Za-z][A-Za-z\s]*[A-Za-z]$/.test(str)\x0d\x0a如果想将中间无论多少空格替换成一个,可以再加这个:\x0d\x0a\x0d\x0astr=str.replace(/\s+/g,"")\x0d\x0a\x0d\x0a字符头尾是字母,中间由空格和字母组成,中间只有一个空格,如:TaylorGreSwift\x0d\x0a\x0d\x0a/^([A-Za-z]+\s?)*[A-Za-z]$/.test(str)

查了十几分钟资料,答案都是 \s ,这答案api文档里就有。

这个答案的问题在于不仅匹配了空格,还匹配了其他不需要的字符

这里提供一个稍微严谨一些的答案

匹配字母、数字和空格的正则表达式如下:

^[A-Za-z0-9 ]\b$

正则表达式作为功能强大的字符处理引擎,最常见的就是匹配字母、数字类的表格式,常见的表达式写法,是用 [] (方括号)来指定多个字符区间,例如正则表达式[A-Za-z]匹配任何字母(大写和小写)、[0-9]匹配数字等等。

简单来说,将你需要的字符(比如空格)添加进方括号中就可以了。