**
字符串方法
**
camelize
function camelize(str) {
return str.replace(/-+(.)?/g, function(match, chr) {
return chr ? chr.toUpperCase() : '';
})
}
将 word-word 的形式的字符串转换成 wordWord 的形式, - 可以为一个或多个。
正则表达式匹配了一个或多个 - ,捕获组是捕获 - 号后的第一个字母,并将字母变成大写。
dasherize
function dasherize(str) {
return str.replace(/::/g, '/')
.replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')
.replace(/([a-z\d])([A-Z])/g, '$1_$2')
.replace(/_/g, '-')
.toLowerCase()
}
将驼峰式的写法转换成连字符 - 的写法。(PS: 虽然我也不知道为什么会有这种API)
例如 A6DExample::Before
第一个正则是将字符串中的 ::
替换成 /
。==> A6DExample/Before
第二个正则是在出现大写字母一次或多次和出现一次大写字母或小写字母之间加上_
。==> A6D_Example/Before
第三个正则是在出现小写字母或数字和出现大写字母之间加上 _
。==> A6_D_Exaple/Before
第四个正则是将所有的_
替换成 -
。 ==> A6-D-Exaple/Before
最后将所有大写字母转换成小写字母。==> a6-e-example/before