如何不用JS实现HTML number输入框仅可输入-90到90范围数值
可行方案
纯HTML即可实现需求,无需引入JS,通过pattern正则校验属性配合原生表单校验能力即可限制输入范围,修改后的代码如下:
<input type="number" id="latitude" placeholder="Enter Your Latitude" min="-90" max="90" pattern="-?[0-8]?[0-9]|-?90" inputmode="numeric" title="请输入-90到90之间的数值" >
配置说明
pattern属性的正则匹配逻辑:- 支持正负号开头,也支持无符号正数
- 覆盖089、-0-89全区间数值
- 单独匹配边界值90、-90
inputmode="numeric"会在移动端唤起纯数字输入键盘,降低非法输入概率- 表单提交时会自动触发校验,输入不符合规则时会弹出
title内的提示文字,阻止表单提交 - 保留了
type="number"的上下调整箭头功能,符合数值输入的使用习惯
内容的提问来源于stack exchange,提问作者Aarush Lanjharia
相关产品推荐
相关产品推荐

