偶然的机会,PM看我写的页面,然后我自己随便输入一个值的时候,发现number框可以输入“e”,"…",出于好奇去网上查了一下,发现这点是可以控制的,html如下:
<div class="layui-form-item">
<label class="layui-form-label">金额</label>
<div class="layui-input-block">
<input type="number" autocomplete="off" class="layui-input" id="txtPersonNumber">
<span class="filederror"></span>
</div>
</div>
默认是这样的效果:
然后我们先来控制这个箭头不显示,在css里加上这些样式:
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type="number"] {
-moz-appearance: textfield;
}
要想设置number框只允许输入纯数字的话,我们在input的onkeypress的属性里设置一个按键方法,来控制允许输入的值:
<div class="layui-form-item">
<label class="layui-form-label">可容纳人数</label>
<div class="layui-input-block">
<input type="number" autocomplete="off" class="layui-input" id="txtPersonNumber" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:Disabled">
<span class="filederror"></span>
</div>
正则验证input输入,要求只能输入正数,小数点后保留两位。
<input type="number" step="1" min="0" onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''">