- 敏感词替换
主要是用于一些网络不良用词的自动屏蔽
function $(id) {
return typeof id === 'string' ? document.getElementById(id) : null;
}
$('btn').onclick = function() {
var val1 = $('content1').value;
var reg = /傻|笨/gi; // | 表示或
var newString = val1.replace(reg, function($0) {
return '*'.repeat($0.length); // 这里的话不能单纯的用*代替,因为还需要考虑长度
});
$('content2').value = newString
}
- 横线命名转驼峰命名
var string = 'border-bottom-color'; // --> borderBottomColor
// way1 --> 一般js逻辑实现
var arr = string.split('-');
// console.log(arr);
for(var i = 1; i < arr.length; i ++) {
arr[i] = arr[i][0].toUpperCase() + arr[i].substring(1);
//将元素内的元素拼接
console.log(arr[i].substring(1));
}
console.log(arr.join(''))
// way2 --> 正则实现
var reg = /(-)([a-z])/gi; // 加括号代表分组-->子项
var newString = string.replace(reg, function($0, $1, $2) {
// $0代表整体,$1代表第一组
console.log($0);
console.log($1);
console.log($2);
return $2.toUpperCase();
})
console.log(newString);
- 用户名正则
var reg = /^[a-zA-Z0-9]{4,8}$/;
- 邮箱正则
这里水了一下,只判断了QQ邮箱
var reg = /(?=.{10,20})\d+\@(qq.com)/gi;
- 密码正则
var reg = /^.*(?=.{6,12})(?=.*[a-zA-Z]\d)(?=.*[!@#$%^&*? ]).*$/;