|
@ -1,4 +1,4 @@ |
|
|
<template> |
|
|
<template> |
|
|
<view class="input-com"> |
|
|
<view class="input-com"> |
|
|
<view :class="'input-wrapper'+(errormsg?' error':'')"> |
|
|
<view :class="'input-wrapper'+(errormsg?' error':'')"> |
|
|
<view class="left"> |
|
|
<view class="left"> |
|
@ -11,12 +11,12 @@ |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
<view class="errmsg" v-if="errormsg">*{{errormsg}}</view> |
|
|
<view class="errmsg" v-if="errormsg">*{{errormsg}}</view> |
|
|
</view> |
|
|
</view> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
export default { |
|
|
export default { |
|
|
name: "inputBox", |
|
|
name: "inputBox", |
|
|
props: { |
|
|
props: { |
|
|
value: { |
|
|
value: { |
|
|
type: String, |
|
|
type: String, |
|
@ -29,10 +29,10 @@ export default { |
|
|
label: { |
|
|
label: { |
|
|
type: String, |
|
|
type: String, |
|
|
default: "" |
|
|
default: "" |
|
|
}, |
|
|
}, |
|
|
holder: { |
|
|
holder: { |
|
|
type: String, |
|
|
type: String, |
|
|
default: '' |
|
|
default: '' |
|
|
}, |
|
|
}, |
|
|
rule: { |
|
|
rule: { |
|
|
type: String, |
|
|
type: String, |
|
@ -42,14 +42,14 @@ export default { |
|
|
type: Boolean, |
|
|
type: Boolean, |
|
|
default: true |
|
|
default: true |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
errormsg:'', |
|
|
errormsg:'', |
|
|
cssUrl:this.cssUrl |
|
|
cssUrl:this.cssUrl |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
handleBlur(e) { |
|
|
handleBlur(e) { |
|
|
var value = e.detail.value |
|
|
var value = e.detail.value |
|
|
var res = this.check(value); |
|
|
var res = this.check(value); |
|
@ -85,12 +85,36 @@ export default { |
|
|
this.errormsg = this.label+'格式不正确' |
|
|
this.errormsg = this.label+'格式不正确' |
|
|
return false |
|
|
return false |
|
|
} |
|
|
} |
|
|
|
|
|
if(this.rule == 'idcard' && !this.validateChineseIDCard(noEmptyVal)){ |
|
|
|
|
|
this.errormsg = this.label+'格式不正确' |
|
|
|
|
|
return false |
|
|
|
|
|
} |
|
|
this.errormsg = '' |
|
|
this.errormsg = '' |
|
|
return true |
|
|
return true |
|
|
} |
|
|
}, |
|
|
} |
|
|
validateChineseIDCard(idCard) { |
|
|
}; |
|
|
const pattern = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/; |
|
|
|
|
|
|
|
|
|
|
|
if (!pattern.test(idCard)) { |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const modWeight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; |
|
|
|
|
|
const modCheckDigit = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]; |
|
|
|
|
|
|
|
|
|
|
|
const idArray = idCard.split(''); |
|
|
|
|
|
let sum = 0; |
|
|
|
|
|
for (let i = 0; i < 17; i++) { |
|
|
|
|
|
sum += parseInt(idArray[i]) * modWeight[i]; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const mod = sum % 11; |
|
|
|
|
|
const checkDigit = modCheckDigit[mod]; |
|
|
|
|
|
|
|
|
|
|
|
return idArray[17] === checkDigit.toString(); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
<style lang="scss" scoped> |
|
@ -134,7 +158,7 @@ export default { |
|
|
textarea{ |
|
|
textarea{ |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 45rpx; |
|
|
height: 45rpx; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
.errmsg{ |
|
|
.errmsg{ |
|
@ -150,4 +174,4 @@ export default { |
|
|
height: 20rpx; |
|
|
height: 20rpx; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |
|
|