前言
在之前的一篇文章《如何打造属于自己的Javascript武器库,来封装这些经典的方法吧》中,有封装过一些简单的方法。
今天这篇文章我们继续看看关于字符串处理的常用方法,并将其封装,完善自己的Javascript武器库。
文中的代码我已经放到Github上了,有需要的同学可以自取。
Javascript
去除空格的方法
该方法的主要目的是通过传递不同的参数,选择去除哪里的空格。
主要思想是:通过正则表达式s匹配空白字符,然后用”去替换空白字符。
得到的代码如下所示。
去除空格方法
字母大小写切换
该方法的主要目的是:将字符串的首字母或者全部字母,进行大小写转换。根据传入的参数进行处理。
主要思想是:根据传入的参数,配合使用字符串自身的toUpperCase和toLowerCase方法。
得到的代码如下所示。
字母大小写转换
其中的ToggleCase方法用于大小写相互转换,其如下所示。
大小写相互转换
检测字符串类型
该方法主要用于检测输入的字符串是否是我们想要的类型,例如email代表邮箱js去空格,phone代表手机号,number代表数字,chinese代表中文。
主要思想是:获得想要获取类型的正则表达式,然后返回匹配的结果。
得到的代码如下所示。
检测字符串类型
上述的检测方案完全可以按照需求进行扩充,直接通过case,就可以自行添加。
检测密码强度
该方法主要用于模仿检测设置密码的强度,检测规则如下:
上述规则会累加统计,最高强度为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。
根据以上分析js去空格,得到的代码如下所示。
统计指定字符串出现次数
格式化处理字符串
该方法主要用于将字符串通过传入的参数格式化处理,接收的参数如下所示。
该方法的思想是通过正则表达式,动态获取每次需要捕获的位数,然后将其捕获的位置前后替换为连接符。
得到的代码如下。
格式化字符串处理
结束语
今天这篇文章主要补充了Javascript中与字符串有关的方法的封装,其他需要封装的方法还有很多,大家也可以自行总结。