版权声明:杨念 https://blog.csdn.net/qq_34178990/article/details/82215993
前言
之前一直对发布一个包很感兴趣, 但是不知道发些什么内容, 最近工作的内容需要用到正则表达式. 对于正则, 会写的人, 想写啥写啥, 不会的人就只能各种搜索.于是我就简单的写了几个常用的正则表达式, 作为一个模块, 发布到了npm上, 内容简单, 也算是给自己练练手.
过程
这里只简单写了一些过程, 如下:
- 编写一个模块
- 注册一个npm帐号
- 通过年npm adduser 添加npm帐号, 用于发布使用
- 通过npm publish发布自己编写的模块
遇到的问题
当使用npm publish的时候, 提示:
no_perms Private mode enable, only admin can publish this module
通过在自己查阅搜索, 得知是npm源的问题, 安装一个nrm来管理自己的npm源:
安装nrm
npm install -g nrm //可能需要sudo权限
nrm简单命令
1. nrm -V //查看版本 2. nrm -list //查看自己安装了那些源 3. nrm use //使用某个源
通过上面的步骤, 就完成了一个模块的发布.
其他
模块的内容很简单单, 以后遇到了关于正则的东西,我会慢慢往这个模块上添加, 当然如果看官需要什么正则表达式, 也可以评论.
模块名: base-reg
模块的简单内容,:
var regular = {
notNull: function() {
return /[*]+/;//非空
},
number: function(minLen, maxLen) {
if(!minLen) return new RegExp('^[\d]*');
if(maxLen){
return new RegExp('^[\d]{minLen, maxLen}$');
}else {
return new RegExp('^[\d]{minLen, }$');
}
},
email: function(){
return /^[\w\_\.\-]+@[\w\.\_\-]+(?:\.[\w]+)$/
},
string: function(minLen, maxLen, isI){//一定范围类
if(isI) {
if(!minLen) return new RegExp('^[a-zA-Z]*', 'i');
if(maxLen) {
return new RegExp('^[a-zA-Z]{minLen, maxLen}$', 'i');
}else {
return new RegExp('^[a-zA-Z]{minLen, }$', 'i');
}
}else{
if(!minLen) return new RegExp('^[a-zA-Z]*');
if(maxLen) {
return new RegExp('^[a-zA-Z]{minLen, maxLen}$');
}else {
return new RegExp('^[a-zA-Z]{minLen, }$');
}
}
},
stringNumber: function(minLen, maxLen) {//匹配一个含有字母数字混合的字符串
if(!minLen) return new RegExp('^[\w]*');
if(maxLen){
return new RegExp('^[\w]{minLen, maxLen}$');
}else {
return new RegExp('^[\w]{minLen, }$');
}
},
word: function(isG, isI){//匹配一个单词
if (isI){
if(isG) {
return /\b[a-z]+\b/ig;
}else {
return /\b[a-z]+\b/i;
}
}else{
if(isG) {
return /\b[a-zA-Z]+\b/g;
}else {
return /\b[a-zA-Z]+\b/;
}
}
},
}
export default regular;
最后
小弟不才, 如有错误, 多谢指正.