我有一个文本输入字段,用于检查每次点击,因此用户应仅输入数字。我需要使用javascript。
我在函数中创建了这个
result = number.replace(/\D/g, '');return result;
我也尝试过result = number.replace(/[^0-9.\-]/g, '');return result;
这是可行的,因此不允许输入除数字以外的任何内容,但是如果我按任意一个字母两次(gg或aa,...),则其中一个字母将显示在输入字段中。
如果我输入其他字母(ab,gh,...),则可以,但是不允许输入任何字母。仅当我按相同字母两次时才会发生。
不知道为什么会这样,因为正则表达式应该只允许数字。
答案 0 :(得分:0)
您需要使用小写字母d来匹配数字而不是大写字母D。另外,要匹配整数,请在d之后使用+号,例如\ d +。
这是正则表达式备忘单:https://www.rexegg.com/regex-quickstart.html
,您可以使用该链接来模拟您的正则表达式:https://regexr.com/