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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
| <template>
| <u-form :model="form" class="form-box" :rules="rules" ref="refForm">
| <u-form-item class="form-item" label="姓名" required prop="name" labelWidth="80">
| <u-input v-model="form.name" border="none" placeholder="姓名" />
| </u-form-item>
| <u-form-item class="form-item" label="联系方式" labelWidth="80">
| <u-input v-model="form.phone" border="none" placeholder="联系方式" />
| </u-form-item>
| <u-form-item class="form-item" label="身份证号码" required prop="idCard" labelWidth="80">
| <u-input v-model="form.idCard" border="none" placeholder="身份证号码" />
| </u-form-item>
| <u-form-item class="form-item" label="户籍地址" labelWidth="80">
| <u-input v-model="form.domicile" border="none" placeholder="选填" />
| </u-form-item>
| <u-form-item class="form-item" label="工作单位" labelWidth="80">
| <u-input v-model="form.workUnit" border="none" placeholder="选填" />
| </u-form-item>
| </u-form>
| </template>
|
| <script>
| export default {
| data() {
| return {
| form: {
| name: '',
| phone: '',
| idCard: '',
| domicile: '',
| workUnit: ''
| },
| rules: {
| name: [{
| required: true,
| message: '请输入姓名',
| // 可以单个或者同时写两个触发验证方式
| trigger: ['change', 'blur'],
| }],
| idCard: [{
| required: true,
| message: '请输入身份证号',
| // 可以单个或者同时写两个触发验证方式
| trigger: ['change', 'blur'],
| }, {
| // 自定义验证函数,见上说明
| validator: (rule, value, callback) => {
| const reg =
| /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/
| if (reg.test(value)) {
| return true
| }
| return false
| },
| message: '请输入正确的身份证号',
| // 触发器可以同时用blur和change
| trigger: ['change', 'blur'],
| }]
| }
| }
| }
| }
| </script>
|
| <style lang="scss" scoped>
| .form-box {
| background: #fff;
|
| .form-item {
| padding: 5rpx 20rpx;
| border-bottom: 1px solid #eff1f3;
| }
| }
| </style>
|
|