文章目录
前言
假期刷题,发现了一个非常有意思的神器—正则,一句话解决的事情,为什么要一直if下去?下面分享推荐练习题目
function isAvailableEmail(sEmail) {
return (/^[0-9a-zA-Z_.]{1,}@[a-zA-Z-9_.]{1,}[a-zA-Z0-9]{2,4}$/).test(sEmail)
}
function cssStyle2DomStyle(sName) {
return sName.replace(/^-/, '').replace(/-([a-z])/g, (_, $) => $.toUpperCase());
}
function rgb2hex(sRGB) {
if (!/^rgb\((\d{1,3},\s*){2}\d{1,3}\)$/.test(sRGB)) return sRGB;
let res='#'
// /\d+/g :\d表示数字, + 表示一个或多个,就是把连续的多个数字替换
sRGB.replace(/\d+/g,n=>res+=('0'+(+n).toString(16)).slice(-2))
return res
}
function isUSD(str) {
return (/^\$\d{1,3}(,\d{3})*(\.\d{2})*$/).test(str)
}
function matchesPattern(str) {
//^表示匹配输入字符串的开始位置,$表示匹配输入字符串的结束位置
return (/^\d{3}-\d{3}-\d{4}$/).test(str)
}
function captureThreeNumbers(str) {
//match返回匹配的字符串数组
let arr=str.match(/\d{3}/);
if(arr)return arr[0]
else return false
}
function endsWithVowel(str) {
return /[aeiou]$/i.test(str);
}
function containsRepeatingLetter(str) {
return /([a-zA-Z])\1/.test(str)
}