鸿蒙 - 判断手机号、身份证(正则表达式)
代码如下:
import promptAction from '@ohos.promptAction';
export class RegExpUtils {
// 手机号正则字符串
REGEXP_PHONE: string = '((1[3|4|5|7|8][0-9]{9})$)'
// 身份证正则字符串
REGEXP_DATE: string = '((0[1-9])|(10|11|12))((0[1-9])|(1[0-9])|(2[0-9])|(30|31))'
REGEXP_CARD: string = '^(([1-9]{1})([0-9]{5})(18|19|20)[0-9]{2}(' + this.REGEXP_DATE + '))([0-9]{4})|([0-9]{3}(x|X))$'
/*
* 判断姓名
* */
checkName(name: string): boolean {
if (name.length === 0) {
promptAction.showToast({
message: '请输入您的姓名',
bottom: 100,
duration: 1000
})
return false
}
return true
}
/*
* 手机号正则
* */
checkPhone(phoneNumber: string): boolean {
if (phoneNumber.length === 0) {
promptAction.showToast({
message: '请输入您的手机号码',
bottom: 100,
duration: 1000
})
return false
}
let reg: RegExp = new RegExp(this.REGEXP_PHONE);
if (!reg.test(phoneNumber)) {
promptAction.showToast({
message: '请输入正确格式 11 位手机号码',
bottom: 100,
duration: 1000
})
return false
}
return true
}
/*
* 身份证正则
* */
checkIdCard(idcard: string,): boolean {
if (idcard.length === 0) {
promptAction.showToast({
message: '请输入您的身份证号码',
bottom: 100,
duration: 1000
})
return false
}
let reg = RegExp(this.REGEXP_CARD);
if (idcard.length != 18 || !reg.test(idcard)) {
promptAction.showToast({
message: '请输入正确身份证号码',
bottom: 100,
duration: 1000
})
return false
}
return true
}
}
使用案例:
if (!this.regExpUtils.checkIdCard(this.savePassengerModel.passengerCardId ?? "")) {
return
}
if (!this.regExpUtils.checkPhone(this.savePassengerModel.passengerPhone ?? "")) {
return
}