JavaScript:使用正则表达式在字符和数字之间添加空格
您好,我有一个车牌号JavaScript:使用正则表达式在字符和数字之间添加空格,javascript,regex,Javascript,Regex,您好,我有一个车牌号BZ8345LK,希望转换成BZ8345LK(在字符和号码之间添加空格) 我尝试使用这个正则表达式,但不起作用,只使用带有数字的空格第一个字符。例如,“LK”与数字之间不留空格 var str = 'BZ8345LK'; str.replace(/[^0-9](?=[0-9])/g, '$& '); # return BZ 8345LK, I want BZ 8345 LK 您应该选择另一种可能性,即数字后面跟着非数字: var str='BZ8345LK'; c
BZ8345LK
,希望转换成BZ8345LK
(在字符和号码之间添加空格)
我尝试使用这个正则表达式,但不起作用,只使用带有数字的空格第一个字符。例如,“LK
”与数字之间不留空格
var str = 'BZ8345LK';
str.replace(/[^0-9](?=[0-9])/g, '$& ');
# return BZ 8345LK, I want BZ 8345 LK
您应该选择另一种可能性,即数字后面跟着非数字:
var str='BZ8345LK';
console.log(str.replace(/[^0-9](?=[0-9])|[0-9](?=[^0-9])/g,'$&')代码>您可以使用此正则表达式
[a-z](?=\d)|\d(?=[a-z])
[a-z](?=\d)
-匹配后跟数字的任何字母表
|
-与逻辑或相同的交替
\d(?=[a-z])
-后跟字母的任何数字
let str='BZ8345LK'
设op=str.replace(/[a-z](?=\d)|\d(?=[a-z])/gi,$&)
console.log(op)
另一个选项是使用:
^[^\d]+|[\d]{4}
搜索任何非数字字符[^\d]
,后跟4个数字[\d]{4}
字符
const str='BZ8345LK'
让answer=str.replace(/^[^\d]+|[\d]{4}/gi,$&'))
console.log(应答)
试试这个
var str=“BZ8345LK”;
var result=str.replace(/([A-Z]+)(\d+([A-Z]+)/,“$1$2$3”);
控制台日志(结果)
这里解释了为什么在动态文本输入(如更改时)中选择此选项是最好的。如果数字格式BZ83 45LK
,您是否可以强制将数字BZ83 45LK
中的额外空格删除到BZ8345 LK
,如何保持输出BZ 8345 LK
@Puyup,然后使用答案。@Puyup您只需删除所有空格str.replace(/\s+/g',)
如果在文本输入中使用onChange,则此代码为每个字符和数字添加更多额外的空格。