UNPKG

bsl

Version:

基于React的框架和UI组件

69 lines (68 loc) 2.21 kB
const pattern = { /** 空格 */ space: /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, /** 数字 */ number: /^\d+$/, /** 大写,小写,数字及特殊字符 */ char: /((?=[\x21-\x7e]+)[^A-Za-z0-9])/, /** 姓名 */ name: /^[\u4e00-\u9fa5]{1,20}$/, /** 手机号 */ tel: /^(1\d{2}|852|853|832)\d{8}$|^886\d{9,10}$/, /** 座机号 */ landline: /^((0\d{2,3})-)(\d{7,8})(-(\d{1,3}))?$/, /** 金额 */ price: /^[0-9]+(.[0-9]{1,2})?$/, /** 正数 */ integer: /^(-|\+)?\d+$/, /** 身份证号 */ // tslint:disable-next-line:max-line-length idcard: /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0\d|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/, // /** emoji */ emoji: /\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/g, email: /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/, url: /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-_]*)?\??(?:[\-\+=&;%@\.\w_]*)#?(?:[\.\!\/\\\w]*))?)/ }; export default { /** 空格 */ // space: /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, // /** 数字 */ // number: /^\d+$/, // /** 大写,小写,数字及特殊字符 */ // char: /((?=[\x21-\x7e]+)[^A-Za-z0-9])/, /** 姓名 */ name: (value: string) => { const regexp = new RegExp(pattern.name); return regexp.test(value); }, /** 手机号 */ tel: (value: string) => { const regexp = new RegExp(pattern.tel); return regexp.test(value); }, email(value: string) { const regexp = new RegExp(pattern.email); return regexp.test(value); }, // /** 座机号 */ // landline: /^((0\d{2,3})-)(\d{7,8})(-(\d{1,3}))?$/, // /** 金额 */ // price: /^[0-9]+(.[0-9]{1,2})?$/, /** 正数 */ integer: (value: string) => { const regexp = new RegExp(pattern.integer); return regexp.test(value); }, /** 身份证号 */ idcard: (value: string) => { const regexp = new RegExp(pattern.idcard); return regexp.test(value); }, url: (value: string) => { const regexp = new RegExp(pattern.url); return regexp.test(value); }, // /** emoji */ // emoji: /\ud83c[\udf00-\udfff]|\ud83d[\udc00-\ude4f]|\ud83d[\ude80-\udeff]/g };