0.1.3 • Published 5 years ago

ehome-utils-kit v0.1.3

Weekly downloads
-
License
ISC
Repository
-
Last release
5 years ago

左邻前端工具集

为什么需要工具集?

在底层将业务模块经常使用的工具统一,有以下优势:

  1. 避免相同方法重复实现
  2. 避免重复踩坑,便于统一优化
  3. 将工具与业务模块分离,减小打包大小,加快渲染

regexps 正则表达式归类

收集各类正则表达式,供各业务使用,便于统一修改维护。

使用示例

import { regexps } from 'ehome-utils';

const phone = '15875894586';
const isValid = regexps.phoneNumber.test(phone);
if (isValid) {
    //...
}

目前,regexps对象中可使用的正则如下:

属性名正则表达式备注
phoneNumber/^((120-9)|(130-9)|(145-9)|(15012356789)|(160-9)|(170-9)|(180-9)|(1989))\d{8}$/12开头的所有号码段(公司内用于测试的号码段);13开头的所有号码段;14开头的有145、146、147、148、149;15开头的除了154的都可以;16开头的所有号码段;17开头的所有号码段;18开头的所有号码段;19开头的有198、199
date/^(?:(?!0000)0-9{4}-(?:(?:01-9|10-2)-(?:01-9|10-9|20-8)|(?:013-9|10-2)-(?:29|30)|(?:013578|102)-31)|(?:0-9{2}(?:048|2468|13579)|(?:048|2468|13579)00)-02-29)$/日期,'yyyy-mm-dd'格式,并且考虑了平闰年
date2/^(?:(?!0000)0-9{4}(?:(?:01-9|10-2)(?:01-9|10-9|20-8)|(?:013-9|10-2)(?:29|30)|(?:013578|102)31)|(?:0-9{2}(?:048|2468|13579)|(?:048|2468|13579)00)0229)$/日期, 'yyyymmdd'格式, 考虑了平闰年
idNo/^1-9\d{5}1-9\d{3}((0\d)|(10-2))((0|1|2\d)|30-1)\d{3}(0-9|X)$/18位身份证号校验
idNo_15/^1-9\d{7}((0\d)|(10-2))((0|1|2\d)|30-1)\d{3}$/15位身份证号校验
ipv4/^(?:(?:250-5|20-4|01?0-9?).){3}(?:250-5|20-4|01?0-9?)$/ipv4地址校验
ipv6/^((0-9a-fA-F{1,4}:){7,7}0-9a-fA-F{1,4}|(0-9a-fA-F{1,4}:){1,7}:|(0-9a-fA-F{1,4}:){1,6}:0-9a-fA-F{1,4}|(0-9a-fA-F{1,4}:){1,5}(:0-9a-fA-F{1,4}){1,2}|(0-9a-fA-F{1,4}:){1,4}(:0-9a-fA-F{1,4}){1,3}|(0-9a-fA-F{1,4}:){1,3}(:0-9a-fA-F{1,4}){1,4}|(0-9a-fA-F{1,4}:){1,2}(:0-9a-fA-F{1,4}){1,5}|0-9a-fA-F{1,4}:((:0-9a-fA-F{1,4}){1,6})|:((:0-9a-fA-F{1,4}){1,7}|:)|fe80:(:0-9a-fA-F{0,4}){0,4}%0-9a-zA-Z{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((250-5|(20-4|1{0,1}0-9){0,1}0-9)\.){3,3}(250-5|(20-4|1{0,1}0-9){0,1}0-9)|(0-9a-fA-F{1,4}:){1,4}:((250-5|(20-4|1{0,1}0-9){0,1}0-9)\.){3,3}(250-5|(20-4|1{0,1}0-9){0,1}0-9))$/ipv6地址校验
email/^a-zA-Z0-9_.-+@a-zA-Z0-9-+(.a-zA-Z0-9-+)*.a-zA-Z0-9{2,6}$/邮箱地址校验,规则如下:1. @之前必须有内容且只能是字母(大小写)、数字、下划线(_)、减号(-)、点(.); 2. @和最后一个点(.)之间必须有内容且只能是字母(大小写)、数字、点(.)、减号(-),且两个点不能挨着 3. 最后一个点(.)之后必须有内容且内容只能是字母(大小写)、数字且长度为大于等于2个字节,小于等于6个字节
idNo2/^((16)|(24)|(31-6)|(50-4)|(71)|(812))(0-7)\d{2}(?:(?!0000)0-9{4}(?:(?:01-9|10-2)(?:01-9|10-9|20-8)|(?:013-9|10-2)(?:29|30)|(?:013578|102)31)|(?:0-9{2}(?:048|2468|13579)|(?:048|2468|13579)00)0229)\d{3}(0-9|X)$/超级严格的身份证号校验正则,尽量贴合身份证号规则