前言
在之前的一篇文章《如何打造属于自己的Javascript武器库,来封装这些经典的方法吧》中,有封装过一些简单的方法。
今天这篇文章我们继续看看关于字符串处理的常用方法,并将其封装,完善自己的Javascript武器库。
文中的代码我已经放到Github上了,有需要的同学可以自取。
https://github.com/zhouxiongking/article-pages/blob/master/articles/jsCapsulation/capsulation2.js
Javascript
去除空格的方法
该方法的主要目的是通过传递不同的参数,选择去除哪里的空格。
-
all - 代表所有空格
-
preBehind - 前后空格
-
previous - 前面空格
-
behind - 后面空格
主要思想是:通过正则表达式s匹配空白字符,然后用''去替换空白字符。
得到的代码如下所示。
去除空格方法
字母大小写切换
该方法的主要目的是:将字符串的首字母或者全部字母,进行大小写转换。根据传入的参数进行处理。
-
FirstUpper - 首字母大写
-
FirstLower - 首字母小写
-
AllToggle - 全部大小写相互转换
-
AllUpper - 全部大写
-
AllLower - 全部小写
主要思想是:根据传入的参数,配合使用字符串自身的toUpperCase和toLowerCase方法。
得到的代码如下所示。
字母大小写转换
其中的ToggleCase方法用于大小写相互转换,其如下所示。
大小写相互转换
检测字符串类型
该方法主要用于检测输入的字符串是否是我们想要的类型,例如email代表邮箱,phone代表手机号,number代表数字,chinese代表中文。
主要思想是:获得想要获取类型的正则表达式,然后返回匹配的结果。
得到的代码如下所示。
检测字符串类型
上述的检测方案完全可以按照需求进行扩充,直接通过case,就可以自行添加。
检测密码强度
该方法主要用于模仿检测设置密码的强度,检测规则如下:
-
如果密码长度小于6,则强度为0。
-
如果密码包含数字,则强度加1。
-
如果密码包含小写字母,则强度加1。
-
如果密码包含大写字母,则强度加1。
-
如果包含特殊字符,则强度加1。
上述规则会累加统计,最高强度为4。
得到的代码如下所示。
检测密码强度
随机生成指定长度字符串
该方法主要用于随机生成指定长度的字符串,例如随机验证码我们完全可以通过这个方法去实现。
主要思想是:先通过Math.random()方法生成随机数,然后调用toString(36)方法转化为字符串,再截取掉前面的0和小数点,循环计算直到达到指定长度。
该方法的核心在于toString()方法的使用,Number类型的toString方法已经重写,传入的参数表示转化的进制数,传入的范围是2-36,最小的2表示0-1,最大的36数字0-9和小写字母a-z,如上面的toString(36),表示要用36进制数表示。
根据以上分析,得到的代码如下所示。
随机生成指定长度字符串
统计给定字符串中,目标字符串出现的次数
该方法通过字符串的split方法实现特别简单。通过split方法按照目标字符串分割成数组,目标字符串出现的次数就是数组的长度减去1。
根据以上分析,得到的代码如下所示。
统计指定字符串出现次数
格式化处理字符串
该方法主要用于将字符串通过传入的参数格式化处理,接收的参数如下所示。
-
size - 表示分割的位数,默认为3。
-
delimiter - 处理后字符串的连接符,默认为','
该方法的思想是通过正则表达式,动态获取每次需要捕获的位数,然后将其捕获的位置前后替换为连接符。
得到的代码如下。
格式化字符串处理
结束语
今天这篇文章主要补充了Javascript中与字符串有关的方法的封装,其他需要封装的方法还有很多,大家也可以自行总结。