ehome-utils

0.1.19 • Public • Published

左邻前端工具集

为什么需要工具集?

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

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

regexps 正则表达式归类

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

使用示例

import { regexps } from 'ehome-utils';
 
const phone = '15875894586';
const isValid = regexps.phoneNumber.test(phone);
if (isValid) {
    //...
}

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

属性名 正则表达式 备注
phoneNumber /^((12[0-9])|(13[0-9])|(14[5-9])|(15[012356789])|(16[0-9])|(17[0-9])|(18[0-9])|(19[89]))\d{8}$/ 12开头的所有号码段(公司内用于测试的号码段);13开头的所有号码段;14开头的有145、146、147、148、149;15开头的除了154的都可以;16开头的所有号码段;17开头的所有号码段;18开头的所有号码段;19开头的有198、199
date /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/ 日期,'yyyy-mm-dd'格式,并且考虑了平闰年
date2 /^(?:(?!0000)[0-9]{4}(?:(?:0[1-9]|1[0-2])(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])(?:29|30)|(?:0[13578]|1[02])31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)0229)$/ 日期, 'yyyymmdd'格式, 考虑了平闰年
idNo /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/ 18位身份证号校验
idNo_15 /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/ 15位身份证号校验
ipv4 /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][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}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-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][1-5])|([24][1-3])|(3[1-6])|(5[0-4])|(71)|(8[12]))([0-7][0-9])\d{2}(?:(?!0000)[0-9]{4}(?:(?:0[1-9]|1[0-2])(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])(?:29|30)|(?:0[13578]|1[02])31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)0229)\d{3}([0-9]|X)$/ 超级严格的身份证号校验正则,尽量贴合身份证号规则

Package Sidebar

Install

npm i ehome-utils

Weekly Downloads

2

Version

0.1.19

License

ISC

Unpacked Size

3.54 MB

Total Files

69

Last publish

Collaborators

  • ehome