let str = ' abc aa s '
//第一种
function trim(str){
let reg = /\s /g
if(typeof str == 'string'){
return str.replace(reg,'')
}
}
trim(str)
//第二种
str.split(' ').join('')
2.去除字符串中最后一个指定的字符或者是字符串
let str = 'abaaaaeaad'
function delChar(str,char){
let index = str.lastIndexOf(char) //lastIndexOf 获取一个指定的字符出现在一个字符串中出现的最后的位置 从后向前搜索
let len = [...char].length
return str.substring(0,index) str.substring(index len,str.length) //substring 截取字符串
}
console.log(delChar(str,'aa'))
3.写一个方法把下划线命名转换成大驼峰命名
function changeName(name){
let arr = name.split('_')
let lastStr = arr[arr.length-1]
arr[arr.length-1]= lastStr[0].toUpperCase() lastStr.substring(1,lastStr.length)
return arr.join('')
}
console.log(changeName('first_name'))
4.写一个把字符串大小写切换的方法
let str = 'aSdFgH'
function toCaseStr(str){
let strArr = []
str.split('').forEach(i=>{
if(i.charCodeAt()>=65&&i.charCodeAt()<=90){ //str.charCodeAt(index) 获取一个字符的unicode编码 65-90 是大写 97-122是小写
i = i.toLowerCase()
}else(
i = i.toUpperCase()
)
strArr.push(i)
})
return strArr.join('')
}
console.log(toCaseStr(str))
5.统计某一个字符或字符串在另一个字符串中出现的次数
//第一种
function setCount(str,charStr){
let count = 0
if(!charStr) return count
while(str.match(charStr)){
str = str.replace(charStr,'')
count
}
return count
}
//第二种
function setCount(str,charStr){
let len = str.match(new RegExp(charStr,'g')).length
return len
}
console.log(setCount('ababababeeeeeee','ab'))
6.写一个获取当前url查询字符串中的参数的方法
function getParams(){
let search = window.location.search //获取?后面的部分?name=xxx&id=xx
search = search.substring(1,search.length) //将?截取掉
let res = {}
search.split('&').forEach(item=>{
let [key,value] = item.split('=')
res[key] = decodeURIComponent(value);
})
return res
}
getParams()
7.写一个方法判断字符串是否为回文字符串
function isPalindrome(s){
if(s.length == 1) return true
let str = s.replace(/[^a-zA-Z0-9]/g,'').toLowerCase() //因为可能有大写 统一转换为小写
let reverseStr = str.split('').reverse().join('')
return str == reverseStr
}
console.log(isPalindrome('A man, a plan, a canal: Panama'))
8.随机生成一个指定长度的验证码 包含大写字母 小写字母 数字 特殊字符
function getRandomCode(len) {
const allStr = 'azxcvbnmsdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP0123456789.*&^%$#@!~';
let code = '';
for (let index = 0; index < len; index ) {
code = allStr.charAt(Math.floor(Math.random() * 73));
}
return code;
}
console.log(getRandomCode(5))
9.写一个方法删除字符串中所有相邻重复的项
function delRepeatChar(str){
return str.replace(/(.)\1*/g,'$1')
}
console.log(delRepeatChar('aaabhhhhjjjjuiuuu'))