javascript函数序列化(Javascript常用封装之字符串处理)
javascript函数序列化(Javascript常用封装之字符串处理)previous - 前面空格preBehind - 前后空格Javascript该方法的主要目的是通过传递不同的参数,选择去除哪里的空格。all - 代表所有空格
前言在之前的一篇文章《如何打造属于自己的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中与字符串有关的方法的封装,其他需要封装的方法还有很多,大家也可以自行总结。