JavaScript 正则表达式替换为字母数字,仅在字符组之间添加空格

标签 javascript regex

我对 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/

相关文章:

javascript - 在移动设备上通过路径或名称获取二进制图像(Ionic/Ng cordova 应用程序)

Javascript 检查当前时间和计划时间

javascript - 正则表达式可视化工具

PHP:使用 MySQL 数据库将区号与电话号码分开

php - 使用正则表达式检测非空字符串?

javascript - css transition 在一个元素中有效,但在第二个元素中无效

javascript - 模数 while 循环在 while 循环中是否有不同的结果?

javascript - 如何使用 ctx.fill 为矩形着色不同的颜色?

swift - 正则表达式不能快速工作

python - 贪婪的正则表达式或逻辑