javascript正则表达式只允许数字问题

问题描述 投票:-1回答:1

我有一个文本输入字段,我在检查每次点击,所以用户应该只输入数字。我需要用javascript来做。

我在我的函数中创建了这个:

 result = number.replace(/\D/g, '');return result;

我也试过result = number.replace(/[^0-9.\-]/g, '');return result;

这是有效的,因此它不允许输入除数字之外的任何内容,但是如果我按任意字母两次(gg或aa,...),则其中一个字母显示在输入字段中。

如果我输入不同的字母(ab,gh,...),那就没关系,它不允许任何字母。只有当我按两次相同的字母才会发生这种情况。

不知道为什么会发生这种情况,因为正则表达式应该只允许数字。

javascript regex
1个回答
0
投票

您需要使用小写d来匹配数字而不是大写D.还要匹配整数使用+符号后d喜欢\ d +。

这里是正则表达式备忘单:https://www.rexegg.com/regex-quickstart.html

你可以使用该链接来模拟你的正则表达式:https://regexr.com/

© www.soinside.com 2019 - 2024. All rights reserved.