一个简单灵活的正则表达式生成库,支持多种表达式生成,欢迎 👏👏fork,欢迎 👏👏 start .
设置是否从开头校验 (不能和全局查找 isglobal 同用) 类型:boolean˜ 默认:false
设置是否持续到结尾匹配 (不能和全局查找 isglobal 同用) 类型:boolean 默认:false
设置是否全局查找 类型:boolean 默认:false
注:正则表达式对象具有修饰符 g 时,它将把当前正则表达式对象的 lastIndex 属性设置为紧挨着匹配子串的字符位置,当同一个正则表达式第二次调用时,它会将从 lastIndex 属性所指示的字符串处开始检索,如果没有发现任何匹配结果,它会将 lastIndex 重置为 0。
设置是否区分大小 类型:boolean 默认:false
设置匹配参数条件 类型:array 必填:true
设置数字 类型:boolean 默认:false
设置小写字母 类型:boolean 默认:false
设置大写字母 类型:boolean 默认:false
设置中文 类型:boolean 默认:false
设置自定义匹配参数
类型:array 默认:空
注:() 括号中的内容可以单独成为一个整体;括号中的内容可以进行分组,单独匹配如果不需要(?:)。[] 方括号中的单独匹配,不可分组,传参的长度大于等于 2 并且非特殊符号(如:‘//n’)匹配用()单个字符用[]
注:水平制表符(\t),垂直制表符(\v),换行符(\n),回车符(\r),换页符(\f)仅对单个字符有效,new RegExp 的时候\w ,\.这样的要用两个反斜杠,即\w, \. 因为字符串里反斜杠是转义字符,\w 会变成 w。因此传时必须双反斜杠即['\\w', '\\.'] 方可匹配字符
设置 是否需要单独匹配(自定义的值有多个字符有效) 类型:boolean 默认: false
设置匹配值取反 类型:boolean 默认:false
限定符 (指定出现数量的代码) 类型: objecct | string (?、+、 *) 默认:空
qualifier:{
minCount:0,
maxCount:7
}
设置最小出现次数 类型:number 默认:0
设置最大出现次数 类型:number 默认:空
是否是懒惰模式, 默认是贪婪模式 类型:boolean 默认:false
let obj = {
strictStart: true,
strictEnding: true,
children: [
{
customCharacter: [1]
},
{
customCharacter: [3, 5, 7, 8, 9]
},
{
number: true,
minCount: 9
}
]
};
let regPhone = Calves.init(obj);
let testPhone = '13838624806';
console.log(regPhone.test(testPhone));
- Number:数字
- Chinese:中文
- IDCard: 身份证号
- Letter:字母
- LetterNumber: 字母数字
- LowerCaseEnglish:小写英文
- CapitalEnglish: 大写英文
- Phone:匹配手机号
- Email:Email,
- Month: 月份
- Days: 日
let quick = Calves.quick('Number');
let quickOk = '12';
let quickError = 'hello world';
console.log(quick);
console.log(quick.test(quickOk));
console.log(quick.test(quickError));
code | 说明 |
---|---|
1000 | 全局匹配和开头匹配不能同时使用 |
1001 | 全局匹配和结尾匹配不能同时使用 |
1002 | 匹配参数不能为空 |
1003 | 存在空对象 |
//进入到项目中下载依赖
npm inatall or yarn install
测试项目
npm run test
+-- coverage // 生成测试覆盖率报告
+-- image // 静态资源图片
+-- node_modules
| +-- ...依赖包
+-- script //文件
| +-- index.js
+-- test //项目测试用例
| +-- index.test.js //测试用例
+-- index.html //项目预览
+-- package.json //依赖
+-- README.md //说明文档
+-- .babelrc //babel 配置