Javascript 如何设置输入文本中唯一可能的值

Javascript 如何设置输入文本中唯一可能的值,javascript,jquery,json,html,css,Javascript,Jquery,Json,Html,Css,我有一个输入文本表单,其中需要插入1到10之间的值 我试图设置一个掩码来自定义它,但它使我写的值超过10,我如何将唯一可能的值设置为1到10,而不是更少或更多 表格 输入type=“text”name=“level”id=“level” 我使用的掩码使其仅接受数字,并使其长度为2位数 function maskFormatterForLvl(val) { $(val).mask("ZZ", { translation: { 'Z': { patte

我有一个输入文本表单,其中需要插入1到10之间的值

我试图设置一个掩码来自定义它,但它使我写的值超过10,我如何将唯一可能的值设置为1到10,而不是更少或更多

表格 输入type=“text”name=“level”id=“level”

我使用的掩码使其仅接受数字,并使其长度为2位数

function maskFormatterForLvl(val) {
$(val).mask("ZZ", {
    translation: {
        'Z': {
            pattern: /[0-9]/,
            optional: true
        }
    }
});
})


我尝试过使用“max”属性,但它不起作用,可能是因为我不熟悉JavaScript,如果输入字段值是数字,那么可以使用输入类型“number”。“最小”和“最大”属性表示要输入的数字范围。希望这更简单

<input type="number" min="0" max="10">

如果输入字段值是数字,则可以使用输入类型“数字”。“最小”和“最大”属性表示要输入的数字范围。希望这更简单

<input type="number" min="0" max="10">

如果必须使用
type=“text”


如果必须使用
type=“text”


使用
charCode
可以使用文本输入,只允许输入数字。从48到57是0-9之间的键盘数字

如果它通过此验证,则检查它是否超过输入的最大值

对于最小值,用户不能输入
0
以下的内容,因为要输入该值,他应该能够写入
-
,这不会通过第一个条件(仅数字)

const input=document.getElementById('level'))
input.onkeypress=功能(e){
var ev=e | | window.event;
如果(ev.charCode<48 | | ev.charCode>57){
返回false;
}否则如果(this.value*10+ev.charCode-48>this.max){
返回false;
}否则如果(此值*10+ev.charCode-48<此最小值){
返回false;
}否则{
返回true;
}
}

使用
charCode
可以使用文本输入,只允许键入数字。从48到57是0-9之间的键盘数字

如果它通过此验证,则检查它是否超过输入的最大值

对于最小值,用户不能输入
0
以下的内容,因为要输入该值,他应该能够写入
-
,这不会通过第一个条件(仅数字)

const input=document.getElementById('level'))
input.onkeypress=功能(e){
var ev=e | | window.event;
如果(ev.charCode<48 | | ev.charCode>57){
返回false;
}否则如果(this.value*10+ev.charCode-48>this.max){
返回false;
}否则如果(此值*10+ev.charCode-48<此最小值){
返回false;
}否则{
返回true;
}
}

为什么不在html5中使用输入数字字段?它必须是文本类型,不是吗?可以隐藏箭头。检查我回答中的更新部分为什么不在html5中使用输入数字字段?它必须是文本类型,不是吗?可以隐藏箭头。检查我的回答中的更新部分它必须是type=“text”,因为数字类型中显示的箭头,文本类型中不可能有相同的箭头吗?谢谢如果您喜欢使用css,则可以隐藏这些箭头。@user9869431当您使用箭头递增时,输入类型编号仅适用于最小值和最大值。如果您键入数字,它将接受所有内容。您甚至可以将文本复制/粘贴到其中(但不能写入文本)。因此,如果没有一些js验证,它将无法工作谢谢!!它解决了箭头的问题,但仍然可以写出大于10的数字!!!是这样吗?我还没想过。干得好@MihaiTIt必须是type=“text”,因为数字类型中显示了箭头,所以文本类型不可能有相同的箭头吗?谢谢如果您喜欢使用css,则可以隐藏这些箭头。@user9869431当您使用箭头递增时,输入类型编号仅适用于最小值和最大值。如果您键入数字,它将接受所有内容。您甚至可以将文本复制/粘贴到其中(但不能写入文本)。因此,如果没有一些js验证,它将无法工作谢谢!!它解决了箭头的问题,但仍然可以写出大于10的数字!!!是这样吗?我还没想过。干得好@谢谢你!!但是如果我也不想要0呢?谢谢!!但是如果我也不想要0呢?
<input type="text" pattern="([0-9])|(10)">