gpt4 book ai didi

仅用于数字的 Javascript RegEx(无特殊字符)

转载 作者:行者123 更新时间:2023-11-30 10:43:31 25 4
gpt4 key购买 nike

我试图找到一个只允许数字 0-9 而不允许特殊字符的正则表达式。这是不可能的,因为按 Shift + 2 仍然是数字吗?

我使用了以下内容:

return /[0-9]|\./.test(String.fromCharCode(event.keyCode));

除了仍然允许的特殊字符外,它工作正常。

任何输入都是最有帮助的。

最佳答案

我认为您的方向是正确的。只需添加 !event.shiftKey:

return /[0-9]|\./.test(String.fromCharCode(event.keyCode)) && !event.shiftKey;

如果需要的话,还有altKeyctrlKey

对于来自数字键盘的 keyCode,您需要与数字 keyCode 进行比较,而不是使用正则表达式:

return (/[0-9]|\./.test(String.fromCharCode(event.keyCode)) && !event.shiftKey) 
|| (event.keyCode >= 96 && event.keyCode <= 105);

也可以使用此技术代替您正在使用的正则表达式:

return (event.keyCode >= 48 && event.keyCode <= 57 && !event.shiftKey) 
|| (event.keyCode >= 96 && event.keyCode <= 105);

参见 http://unixpapa.com/js/key.html

关于仅用于数字的 Javascript RegEx(无特殊字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9707747/

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