Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么';12.3456';。匹配(/^\d+;\。\d{2}$\d{2}$/)已获得';56';_Javascript_Regex - Fatal编程技术网

Javascript 为什么';12.3456';。匹配(/^\d+;\。\d{2}$\d{2}$/)已获得';56';

Javascript 为什么';12.3456';。匹配(/^\d+;\。\d{2}$\d{2}$/)已获得';56';,javascript,regex,Javascript,Regex,我想使用javascript let 12.3456->12.34 我尝试了'12.3456'。替换(/^\d+\.\d{2}$\d{2}$/,“”)可以做到 即使我去,但我不明白为什么注册经验可以匹配'56' 请帮助我理解它,因为您的正则表达式/^\d+。{2}$\d{2}$/匹配的是带有两个小数(^\d+。{2}$)或()最后两位(\d{2}$)的数字。因为第一个不匹配(您的输入有四个小数),所以第二个交替匹配,并替换为空字符串 12.3456 ^^ matched by \

我想使用javascript let 12.3456->12.34

我尝试了
'12.3456'。替换(/^\d+\.\d{2}$\d{2}$/,“”)可以做到

即使我去,但我不明白为什么注册经验可以匹配'56'


请帮助我理解它

,因为您的正则表达式
/^\d+。{2}$\d{2}$/
匹配的是带有两个小数(
^\d+。{2}$
)最后两位(
\d{2}$
)的数字。因为第一个不匹配(您的输入有四个小数),所以第二个交替匹配,并替换为空字符串

12.3456
     ^^    matched by \d{2}$
替换为空字符串

12.34

如果这是关于四舍五入的数字,这可能会有所帮助,也许您需要
parseFloat('12.3456')。改为fixed(2)