Javascript 修改正则表达式浮点表达式以强制小数点前的前导数字
我有下面的正则表达式,它通过jquery验证html中的textbox元素 /^-?\d*[.]?\d*$/ 我想对此进行修改,以便只有在小数点前面有前导数字时,才能添加小数点Javascript 修改正则表达式浮点表达式以强制小数点前的前导数字,javascript,html,regex,Javascript,Html,Regex,我有下面的正则表达式,它通过jquery验证html中的textbox元素 /^-?\d*[.]?\d*$/ 我想对此进行修改,以便只有在小数点前面有前导数字时,才能添加小数点 如果有人能为我提供解决方案,我将不胜感激。只需在第一个\d之后添加+量词即可 ^-?\d+[.]?\d*$ const n1='.1'; 常数n2='0.1'; 常数n3='-0.1'; 常量正则表达式=/^-?\d+[.]?\d*$/; log(`${n1}=>${regex.test(n1)}`); log(`$
如果有人能为我提供解决方案,我将不胜感激。只需在第一个
\d
之后添加+
量词即可
^-?\d+[.]?\d*$
const n1='.1';
常数n2='0.1';
常数n3='-0.1';
常量正则表达式=/^-?\d+[.]?\d*$/;
log(`${n1}=>${regex.test(n1)}`);
log(`${n2}=>${regex.test(n2)}`);
log(`${n3}=>${regex.test(n3)}`)
所以用“+”替换“*”?它不允许我输入负号作为第一个字符。我认为这会更好^[-]?\d+([.]\d+)$
@acbay,尽管OP没有指定是否应该匹配1.
之类的字符串,但我认为这值得包含在答案中。答案已更新。谢谢。不,不,你的回答完全回答了问题,我知道这不是特别问的,我只是想多帮汉克一点。谢谢。您确定要匹配“23.”
,并且不想匹配较大字符串中的字符串(例如,“我钓到的鱼重23.7公斤”)?为什么坚持小数点前的前导零?JavaScript没有它也是“快乐”的。。。我的建议是,在页面上以某种形式回应您如何读取输入,并使用前导零进行读取。在匆忙呈现代码之前,您应该用文字说明问题,然后用一两个示例说明每个问题是否正确。