性别识别
This commit is contained in:
parent
5df0380110
commit
bd29a5aff3
@ -2,6 +2,26 @@ const auth = require('../../../utils/auth');
|
|||||||
|
|
||||||
const PHONE_RE = /^1[3456789]\d{9}$/;
|
const PHONE_RE = /^1[3456789]\d{9}$/;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 解析OCR返回的性别字段,统一转换为索引格式
|
||||||
|
* 约定:0 = 男,1 = 女
|
||||||
|
* 支持多种格式:男、男性、M、Male、m、male、女、女性、F、Female、f、female
|
||||||
|
*/
|
||||||
|
function parseOcrGender(genderStr) {
|
||||||
|
if (genderStr == null || genderStr === '') return 0;
|
||||||
|
const g = String(genderStr).trim().toLowerCase();
|
||||||
|
// 匹配女性:女、女性、f、female、woman、women、1
|
||||||
|
if (g === '女' || g === '女性' || g === 'f' || g === 'female' || g === 'woman' || g === 'women' || g === '1') {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
// 匹配男性:男、男性、m、male、man、men、0
|
||||||
|
if (g === '男' || g === '男性' || g === 'm' || g === 'male' || g === 'man' || g === 'men' || g === '0') {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
// 无法识别,返回默认0(男)
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
function normalizeAuthStatus(v) {
|
function normalizeAuthStatus(v) {
|
||||||
if (v == null || v === '') return 0;
|
if (v == null || v === '') return 0;
|
||||||
const n = Number(v);
|
const n = Number(v);
|
||||||
@ -206,7 +226,7 @@ Page({
|
|||||||
wx.showToast({ title: ocr.message || '身份证识别失败', icon: 'none' });
|
wx.showToast({ title: ocr.message || '身份证识别失败', icon: 'none' });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const genderIndex = (ocr && (ocr.gender === '女' || ocr.gender === 'F' || ocr.gender === '1')) ? 1 : 0;
|
const genderIndex = parseOcrGender(ocr && ocr.gender);
|
||||||
this.setData({
|
this.setData({
|
||||||
name: (ocr && ocr.name) || '',
|
name: (ocr && ocr.name) || '',
|
||||||
idCardNumber: (ocr && ocr.idCardNumber) || '',
|
idCardNumber: (ocr && ocr.idCardNumber) || '',
|
||||||
@ -221,7 +241,7 @@ Page({
|
|||||||
wx.showToast({ title: ocr.message || '护照识别失败', icon: 'none' });
|
wx.showToast({ title: ocr.message || '护照识别失败', icon: 'none' });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const genderIndex = (ocr && (ocr.gender === '女' || ocr.gender === 'F' || ocr.gender === '1')) ? 1 : 0;
|
const genderIndex = parseOcrGender(ocr && ocr.gender);
|
||||||
this.setData({
|
this.setData({
|
||||||
name: (ocr && ocr.name) || '',
|
name: (ocr && ocr.name) || '',
|
||||||
passportNumber: (ocr && ocr.passportNumber) || '',
|
passportNumber: (ocr && ocr.passportNumber) || '',
|
||||||
@ -239,7 +259,7 @@ Page({
|
|||||||
wx.showToast({ title: ocr.message || '户口本识别失败', icon: 'none' });
|
wx.showToast({ title: ocr.message || '户口本识别失败', icon: 'none' });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const genderIndex = (ocr && (ocr.gender === '女' || ocr.gender === 'F' || ocr.gender === '1')) ? 1 : 0;
|
const genderIndex = parseOcrGender(ocr && ocr.gender);
|
||||||
this.setData({
|
this.setData({
|
||||||
name: (ocr && ocr.name) || '',
|
name: (ocr && ocr.name) || '',
|
||||||
idCardNumber: (ocr && ocr.idCardNumber) || '',
|
idCardNumber: (ocr && ocr.idCardNumber) || '',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user