总结项目中常用的正则表达式
-
身份证号码
/** * @param {*} e * @returns 校验身份证号 */ export function getIdentityValue(e) { let value = e.target.value; const reg = /^\d{6}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/; if (!reg.test(value)) { value = value.replace(/[\u4e00-\u9fa5|,]+/, ''); // 过滤中文 value = value.replace(/[^\d{18}$)|(^\d{17}(\d|X|x]/, ''); } return value; } -
手机号码
/** * @param {*} e * @returns 校验手机号码 */ export function getPhoneValue(e) { let value = e.target.value; if (!/^1[3-9][0-9]{9}$/.test(value)) { value = value.replace(/[^0-9]/g, ''); } return value; } -
固定电话
/** * @param {*} e * @returns 校验固定电话--大陆 */ export function getFixedTelephone(e) { let value = e.target.value; if (!/^0\d{2,3}-\d{7,8}$/.test(value)) { value = value.replace(/[^0-9-]/g, ''); } return value; } -
替换掉非数字字符
/** * @param {*} value * @returns 可以输入小数的数字输入框 */ export function checkNumberEvent(value) { value = value + ''; // String(value) if (!/^\d+(\.\d+)?$/.test(value)) { value = value.replace(/[^0-9.]/g, ''); } return value ? parseFloat(value) : ''; } -
替换掉汉字字符
/** * @param {*} e * @returns 替换掉汉字字符 */ export function getNotCharacterValue(e) { let value = e.target.value; if (/[\u4e00-\u9fa5]+/.test(value)) { value = value.replace(/[\u4e00-\u9fa5|,]+/, ''); } return value; } -
指定输入框转换数字(最多两位小数)
/** * @return {*} value * @description 指定输入框转换数字(最多两位小数) */ export function limitDecimals(value) { const reg = /^(\d+)\.(\d\d).*$/; let bef = '', _value = String(value); // 需要限制用户输入的整数最大位数 <!--// 截取小数点前面正整数为7位--> <!--if (_value.indexOf('.') != -1) {--> <!-- const index = _value.indexOf('.');--> <!-- bef = _value.substring(0, index);--> <!--} else {--> <!-- bef = _value;--> <!--}--> <!--// 限制输入7位--> <!--if (bef && !/^(\d{1,7})$/.test(bef)) {--> <!-- value = bef.substring(0, 7);--> <!--}--> if(typeof value === 'string') { return !isNaN(Number(value)) ? value.replace(reg, '$1.$2') : ''; } else if (typeof value === 'number') { return !isNaN(value) ? String(value).replace(reg, '$1.$2') : ''; } else { return ''; } } -
地址 URL 链接
export function getUrl(url) { let reg = /(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/; return url && reg.test(url); } -
日期 YYYY-MM-DD
export function getDate(v) { let reg = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/; return reg.test(v); }