我对 JavaScript 正则表达式没有太多经验,并且不确定如何仅允许输入包含字母数字字符,并且这些字符组之间有一个空格。
一些理想的例子:
"abcde"
"ab cde"
"ab c de"
一些不良行为的例子:
" abcde"
"abcde "
"ab c de"
我意识到我可以使用trim()
来处理第一个和最后一个情况,split("")
,然后只连接非空字符串,但想要了解如何使用正则表达式执行此操作。
顺便说一句,我可以使用 \w
来表示允许的字符,“_”不是问题。
最佳答案
如果您尝试修复不良情况,可以使用如下内容:
text = text.replace(/^ +| +$|( ) +/g, "$1");
/^ +/
将匹配开头的一个或多个空格,/+$/
将匹配末尾的一个或多个空格,/( ) +/
将匹配字符串中任意位置的两个或多个空格。对于前两个表达式,捕获组将是一个空字符串,但对于 ( ) +
它将是一个空格,因此您只需用一个空格替换多个空格。
关于JavaScript 正则表达式替换为字母数字,仅在字符组之间添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23816654/