gpt4 book ai didi

javascript - HTML输入只接受0-9(英文数字)和০-৯(孟加拉语数字)?

转载 作者:行者123 更新时间:2023-12-04 14:21:55 25 4
gpt4 key购买 nike

我有一个 html 输入字段。我只想允许 [0-9] (英文数字)和[০-৯] (孟加拉语数字)

如果我使用 type='number'那么它只支持[0-9]不支持[০-৯] .

如果我使用 type='text'那么它支持任何类型的字符

请问有什么想法吗?

最佳答案

如果你想完全禁止用户插入非数字数字,那么你应该覆盖 keydown事件并在 key 不正确时阻止它。您还可以添加粘贴事件以仅允许仅包含允许字符的粘贴事件。

var allowedKeys = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
"ARROWRIGHT", "ARROWLEFT", "TAB", "BACKSPACE", "DELETE", "HOME", "END", "০", "১", "২", "৩", "৪", "৫", "৬", "৭", "৮", "৯"
];

if (document.readyState === "complete") onLoad();
else addEventListener("load", onLoad);

function onLoad() {
document.querySelectorAll("input.numeric").forEach(function(input) {
input.addEventListener("keydown", onInputKeyDown);
input.addEventListener("paste", onInputPaste);
});
}

function onInputKeyDown(event) {
if (!allowedKeys.includes(event.key.toUpperCase()) && !event.ctrlKey) {
event.preventDefault();
}
}

function onInputPaste(event) {
var clipboardData = event.clipboardData || window.clipboardData;
if (/^[0-9০-৯]+$/g.test(clipboardData.getData("Text"))) return;
event.stopPropagation();
event.preventDefault();
}
<input type="text" class="numeric">

关于javascript - HTML输入只接受0-9(英文数字)和০-৯(孟加拉语数字)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58969903/

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