html中input输入数字控制
# antd from验证input框只能输入数字【推荐】
问题:Input框中如果只能需要输入Id,也就是数字型字符串,需要进行验证。
解决办法:对其进行实时正则验证; /^[1-9]\d*$/
<Form.Item label='ID' >
{
getFieldDecorator('id', {
rules:[{
required:false,
pattern: new RegExp(/^[1-9]\d*$/, "g"),
message: '请输入正确的ID'
}],
getValueFromEvent: (event) => {
return event.target.value.replace(/\D/g,'')
},
initialValue:''
})(<Input type="text" maxlength="11"/>)
}
</Form.Item>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
这样的操作就是输入框只能输入数字,输入字符是不被允许的,也就是输入不进去字符,从前端确保提交数据格式的正确性;
# input number类型去掉上下加减箭头
如果使用type=“number”,则为造成能输入“-”、‘+’和“.”,在type为number的时候要可以输入加号、减号和小数点的。
input[type='number'] {
-moz-appearance: textfield;
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# type属性设为number后控制不可输入e
原因:e在数学上代表2.71828,所以它也还是一个数字
解决方法:
<input type='number' onkeypress='return( /[\d]/.test(String.fromCharCode(event.keyCode)))' />
1
由于火狐里面没有 input type =“number” 这个设置,所以可以随机输入英文,
那么换一个方法,还是用正则:(设置 text类型,却只能输入数字,字母会自动删除)
<input type="text" οnkeyup="this.value=this.value.replace(/[^\d]/g,'');" >
1
# 限制输入框为只能输入最大为11为数字
<input type="text" placeholder="请输入手机号" autofocus="autofocus" autocomplete="off" oninput="if(value.length>11)value=value.slice(0,11)" onkeyup="this.value=this.value.replace(/\D/g,'')"/>1
1
autofocus:文本输入字段被设置为当页面加载时获得焦点
autocomplete:自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项
**注释:**autocomplete 属性适用于
上次更新: 2022/04/15, 05:41:26