Javascript 用于计算昏迷后字符数的正则表达式

Javascript 用于计算昏迷后字符数的正则表达式,javascript,regex,Javascript,Regex,我如何构建一个正则表达式,如果有超过3位或少于3位,它将用“.”小数点替换每个逗号 那就是4444是正确的,保持这样,但3,33将是3.33或44444将是4.444 类似地,它也可以是这样的1234,456789,它应该变成1234.45.6789,带有RegExp.test()函数和特定的regex模式: var commaToDot=函数(str){ 如果(/^-?\d+[,\d]+\d+$/.test(str)和&/\d+,(\d{1,2}}\d{4,})\b/.test(str)){

我如何构建一个正则表达式,如果有超过3位或少于3位,它将用“.”小数点替换每个逗号

那就是4444是正确的,保持这样,但3,33将是3.33或44444将是4.444

类似地,它也可以是这样的1234,456789,它应该变成1234.45.6789,带有
RegExp.test()
函数和特定的regex模式:

var commaToDot=函数(str){
如果(/^-?\d+[,\d]+\d+$/.test(str)和&/\d+,(\d{1,2}}\d{4,})\b/.test(str)){
var parts=str.split(',');
返回parts.length>2?parts[0]+','+parts.slice(1).join('.'):parts.join('.');
}否则{
返回str;
}
};
console.log(逗号('44444'));
console.log(commaToDot('5555'));
控制台日志(commaToDot('3,33'));
console.log(commaToDot('1234,456789'))
函数commaToDot(数字){
设正则表达式=/^\d{1,3}(?:,\d{3})*((?:,\d+)*?$/;
设matches=number.match(regex);
如果(匹配[1]){
number=number.replace(匹配[1],匹配[1]。replace(/,/g,'.'))
}
返回号码;
}
console.log(逗号('44444'));
console.log(commaToDot('5555'));
控制台日志(commaToDot('3,33'));
console.log(commaToDot('1234,456789'));
控制台日志(commaToDot('1234,45678,9');

控制台日志(commaToDot('5,5,5,5'))显示您当前的努力我无法理解正则表达式:)number=number。替换(/,/g,,。。)这是我所要替换的全部,替换为。我不知道RegExplose中的计数是如何工作的请将这一努力转移到问题上(不要将其作为注释发布)在
11333,22333
的情况下,您希望将其格式设置为
11333.22333
还是
11333.22.333
?11,33.22333基本上,数字中有1000个分隔符,也就是说,3位后有一个逗号。对于所有错误放置的分隔符,我想将它们转换为点(或任何其他符号),它将“1234,456789”转换为1.234.45.6789,现在应该是1234.45.67895,5,5返回5,5.5.:)通过正则表达式i是不可行的guess@mugheesilyas,或少于3位-这是您的情况。所以你把自己搞糊涂了others@KyleFairns,你真的很困惑。否则,OP的词组4444是正确的,根据您的假设它是不明确的。不,它只是意味着别管那个逗号,因为它的格式正确,所以不应该对那个逗号进行更改。逗号后面正好有3位数字,这意味着
x==3