gpt4 book ai didi

javascript - 正则表达式 javascript,为什么点和逗号匹配\

转载 作者:行者123 更新时间:2023-12-03 02:35:45 24 4
gpt4 key购买 nike

为什么这个正则表达式 '^[0-9]+\.?[0-9]*$' 匹配 12.2 和 12,2 ?

jsFiddle

var dot = '12.2',
comma = '12,2',
regex = '^[0-9]+\.?[0-9]*$';

alert( dot.match(regex) );
alert( comma.match(regex) );

当它适用于 regexpal.com

最佳答案

因为变量 regex 是一个字符串,所以转义序列 \. 只是 .,它匹配任何字符(换行符除外)。如果您更改正则表达式的定义以使用 RegExp 文字语法或转义转义字符 (\\.),那么它将按您的预期工作。

var dot = '12.2'
, comma = '12,2'
, regex = /^[0-9]+\.?[0-9]*$/;
// or '^[0-9]+\\.?[0-9]*$'
alert(dot.match(regex));
alert(comma.match(regex));

关于javascript - 正则表达式 javascript,为什么点和逗号匹配\,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5469641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com