mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
65 lines (58 loc) • 2.31 kB
JavaScript
import { toString } from 'ut2';
import { formatBankCard, formatMobile } from 'util-helpers';
// 标准化输入
// 标准化输入非空白符
export var normalizeNotWhiteSpace = function normalizeNotWhiteSpace(value) {
// 如果替换全部空字符,输入中文时有bug
// return toString(value).replace(/\s/g, '');
return toString(value).trim();
};
// 标准化输入银行卡号
export var normalizeBankCard = function normalizeBankCard(value) {
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var valueStr = toString(value);
var reg = /[^\d]/g;
var ret = valueStr.replace(reg, '');
return format ? formatBankCard(ret) : ret;
};
// 标准化输入身份证号
export var normalizeIdCard = function normalizeIdCard(value) {
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var valueStr = toString(value);
var reg = /[^\dx]/gi;
var ret = valueStr.replace(reg, '').substring(0, 18);
return format ? ret.toUpperCase() : ret;
};
// 标准化输入手机号码
export var normalizeMobile = function normalizeMobile(value) {
var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var valueStr = toString(value);
var reg = /[^\d]/g;
var ret = valueStr.replace(reg, '');
return format ? formatMobile(ret) : ret;
};
// 规整化数字输入
export function normalizeNumber(value) {
var allowDot = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
var allowMinus = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
var valueStr = toString(value).replace(/[^\\.-\d]/g, '');
if (allowDot) {
var dotIndex = valueStr.indexOf('.');
if (dotIndex > -1) {
valueStr = valueStr.substring(0, dotIndex + 1) + valueStr.substring(dotIndex + 1).replace(/\./g, '');
}
} else {
valueStr = valueStr.split('.')[0];
}
var minusIndex = valueStr.indexOf('-');
if (allowMinus && minusIndex === 0) {
valueStr = '-' + valueStr.substring(1).replace(/-/g, '');
} else {
valueStr = valueStr.replace(/-/g, '');
}
return valueStr;
}
// 标准化邮箱(统一为小写)
export var normalizeEmail = function normalizeEmail(value) {
return normalizeNotWhiteSpace(value).toLowerCase();
};