SOURCE

var regex = /ab{2,5}c/g;
var string = 'abc,abbbc,aaabc,aabbbbc,aaaaabc,abbc'
console.log(string.match(regex))
// 匹配时间
var timeRegex = /^([01][0-9]|[2][0-3]):[0-5][0-9]$/
console.log(timeRegex.test('23:59'))
console.log(timeRegex.test('00:00'))
// 匹配年月日
var yearRegex = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
console.log(yearRegex.test('2021-11-31'))
// 用户名 前置* 
var value = 'zzz'
console.log(value.split('').fill('*', 0 , value.length - 1).join('')) 
// 用户名 后置*
console.log(value.split('').fill('*', -value.length+1).join('')) 
var bankCard = '95599 8086 84358 75810'
// 银行卡 后保留4位   截取8位 置换后四位
console.log(bankCard.slice(-8).split('').fill('*', 0, 4).join(''))
// 身份证 前后保留    中间置*
var idNo = '140105199503100011'
console.log(idNo.split('').fill('*', 3, idNo.length - 4).join(''))
// 2021-11-05 替换成 2021年11月05日
function transDate(str) {
    const regex = /(\d{4})-(\d{2})-(\d{2})/
    regex.test(str)
    const year  = RegExp.$1+'年'
    const mouth = (RegExp.$2 > 10 ? RegExp.$2 : RegExp.$2.slice(1)) + '月'
    const day   = (RegExp.$3 > 10 ? RegExp.$3 : RegExp.$3.slice(1)) + '日'
    return year+mouth+day
}
console.log(transDate('2021-01-05'))
// string trim方法模拟
function trim (str) {
    return str.replace(/^\s+|\s+$/g, '')
}
console.log(trim('  我是   ').lenght)
console.log(('   我是').lenght)
console 命令行工具 X clear

                    
>
console