logo头像

求知若渴,虚心若愚

JavaScript - 字符串(String) - 字符串封装方法

我们经常会封装一些数组方法,今天就分享给大家一些封装好的数组方法

主要内容如下:

  • 将带字符串转成驼峰字符串
  • 将带驼峰字符串转成字符串
  • 去除空格
  • 字符串转大写
  • 密码强度检测等
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
'use strict'

/**
* 将带字符串转成驼峰字符串,例如 project-name => projectName
*
* @param {String} str 字符串
* @return {String}
*/
function camelCase (str) {
return ('' + str).replace(/(-[a-zA-Z])/g, function (text, u) {
return u.substring(1).toLocaleUpperCase()
})
}

/**
* 将带驼峰字符串转成字符串,例如 projectName => project-name
*
* @param {String} str 字符串
* @return {String}
*/
function kebabCase (str) {
return ('' + str).replace(/([A-Z])/g, function (text, u) {
return '-' + u.toLowerCase()
})
}

/**
* 去除空格
* @param {str}
* @param {type}
* type: 1-所有空格 2-前后空格 3-前空格 4-后空格
* @return {String}
*/
function trim (str, type) {
type = type || 1
switch (type) {
case 1:
return str.replace(/\s+/g, "");
case 2:
return str.replace(/(^\s*)|(\s*$)/g, "");
case 3:
return str.replace(/(^\s*)/g, "");
case 4:
return str.replace(/(\s*$)/g, "");
default:
return str;
}
}

/**
* @param {str}
* @param {type}
* type: 1:首字母大写 2:首页母小写 3:大小写转换 4:全部大写 5:全部小写
* @return {String}
*/
function changeCase (str, type) {
type = type || 4
switch (type) {
case 1:
return str.replace(/\b\w+\b/g, function (word) {
return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();

});
case 2:
return str.replace(/\b\w+\b/g, function (word) {
return word.substring(0, 1).toLowerCase() + word.substring(1).toUpperCase();
});
case 3:
return str.split('').map( function(word){
if (/[a-z]/.test(word)) {
return word.toUpperCase();
}else{
return word.toLowerCase()
}
}).join('')
case 4:
return str.toUpperCase();
case 5:
return str.toLowerCase();
default:
return str;
}
}

/*
检测密码强度
*/
function checkPwd (str) {
var Lv = 0;
if (str.length < 6) {
return Lv
}
if (/[0-9]/.test(str)) {
Lv++
}
if (/[a-z]/.test(str)) {
Lv++
}
if (/[A-Z]/.test(str)) {
Lv++
}
if (/[\.|-|_]/.test(str)) {
Lv++
}
return Lv;
}

// 导出模块
var stringExports = {
trim:trim,
changeCase:changeCase,
checkPwd:checkPwd,
camelCase:camelCase,
kebabCase:kebabCase
}
module.exports = stringExports
支付宝打赏 微信打赏

赞赏是对我们的肯定!