JavaScript 写一个字符串转成驼峰的方法,o_div_style_position转成oDivStylePosotion。
var str = 'border-bottom-color';
var strRg = str.replace(/\-[a-z]/g, function (params) {
return params.charAt(1).toUpperCase();
})
console.log(strRg);
JavaScript 查找字符串中出现最多字符的个数
例如:sdjksfssscfssdd ->字符最多的是s,出现了7次
var str = 'sdjksfssscfssdd';
var maxObj = {
key: null,
count: null
};
var maxCou = 0;
while (str) {
var i = 0;
var reg = new RegExp(str[0], 'g');
var currStr = str[0];
str = str.replace(reg, function (part) {
i++;
return '';
})
if (i > maxCou) {
maxObj.key = currStr;
maxCou = maxObj.count = i;
}
}
console.log(maxObj.key + ':' + maxObj.count)
JavaScript 把12233435566690中连续重复的数字去掉
判断是否为空字符串,是就直接返回;
不是的话
初始字符串为str第一个,从第二个开始,如果不等于他们前一个的字符,代表不重复,加入初始字符,迭代进行,直到最后一个,返回
function removeRepetition (str) {
if (str != '') {
var result = str[0];
for (var i = 1; i < str.length; i++) {
if (str[i] != str[i - 1]) {
result += str[i];
}
}
}
else result = '';
return result;
}
console.log(removeRepetition("sssssssssaaaaaaaaasasas")); //sasasas
JavaScript 用js实现千位分隔符?
例如123456789–>123,456,789
var str = '123456789';
var reg = /^([1-9]\d{0,2})((?:\d{3})+)$/;
var s = str.replace(reg, function () {
return RegExp.$1 + ',' + RegExp.$2.match(/\d{3}/g);
})
console.log(s);//123,456,789
知识点
注意:IE10中直接调用分组不识别,需要在此前调用test方法:
var str = '123456789';
var reg = /^([1-9]\d{0,2})((?:\d{3})+)$/;
if (reg.test(str)) {
var s = str.replace(reg, function () {
return RegExp.$1 + ',' + RegExp.$2.match(/\d{3}/g);
})
}
console.log(s);//123,456,789
JavaScript 写一个正则表达式判断字符串是否是对称数
var str = 'Woow';
var reg = /^([a-z])([a-z])\2\1$/i;
if (reg.test(str)) {
console.log('ok')
}
JavaScript 写出一个正则表达式用于匹配由数字和字母组成的字符串
function checkPassWord (nubmer) {
var re = /^[0-9a-zA-Z]*$/; //判断字符串是否为数字和字母组合
if (!re.test(nubmer)) {
return false;
} else {
return true;
}
}