前言:在做开发的时候经常会有这样的需求,让输入框中只能输入某种类型的东西,还是记一下吧

实现

1
2
!-- 只能允许输入英文和数字 -->
<el-input v-model="form.name" oninput="value=value.replace(/[^\w_]/g,'')" autocomplete="off" />

主要是在input里面,通过onkeyput或oninput加入字段,对输入的内容进行校验。

1
oninput="value=value.replace(/\D/g,'')"

扩展

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
输入大小写字母、数字、下划线:
oninput="value=value.replace(/[^\w_]/g,'');"

输入小写字母、数字、下划线:
oninput="value=value.replace(/[^a-z0-9_]/g,'');"

输入数字和点
oninput="value=value.replace(/[^\d.]/g,'')"

输入中文:
oninput="value=value.replace(/[^\u4e00-\u9fa5]/g,'')"

输入数字:
oninput="value=value.replace(/\D/g,'')"

输入英文:
oninput="value=value.replace(/[^a-zA-Z]/g,'')"

输入中文、数字、英文:
oninput="value=value.replace(/[^\w\u4E00-\u9FA5]/g, '')"

输入数字和字母:
oninput="value=value.replace(/[\W]/g,'')"

除了英文的标点符号以外,其他的都可以中文,英文字母,数字,中文标点
oninput="value=value.replace(/^[^!@#$%^&*()-=+]/g,'')"

只能输入数字代码(小数点也不能输入)
oninput="value=value.replace(/\D/g,'')"

数字和小数点
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^\./g, '').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')"

只能输入字母和汉字
oninput="value=value.replace(/[\d]/g,'')

只能输入英文字母和数字,不能输入中文
oninput="value=value.replace(/[^\w\.\/]/ig,'')"

只能输入数字和英文
oninput="value=value.replace(/[^\d|chun]/g,'')"