子串的识别 ES6 之前判断字符串是否包含子串,用 indexOf 方法,ES6 新增了子串的识别方法。
includes():返回布尔值,判断是否找到参数字符串。
startsWith():返回布尔值,判断参数字符串是否在原字符串的头部。
endsWith():返回布尔值,判断参数字符串是否在原字符串的尾部。
// let string = "hello wrold";
// //判断是否找到参数字符串。
// console.log(string.includes("hello"));
// console.log(string.includes("wd")) ;
// //判断参数字符串是否在原字符串的头部
// console.log(string.startsWith("hello"));
// console.log(string.startsWith("hell"));
// console.log(string.indexOf("ell"));
// console.log(string.startsWith("helo"));
// console.log(string.startsWith("world"));
// //判断参数字符串是否在原字符串的尾部
// console.log(string.endsWith("world"));
// //判断开始字符参数字符串位置。
// console.log(string.startsWith("hello",0));
// console.log(string.startsWith("hello",2));
//
// //padStart:返回新的字符串,表示用参数字符串从头部补全原字符串。
// // padEnd:返回新的字符串,表示用参数字符串从头部补全原字符串。
// console.log("h".padStart(5,"o")); // "ooooh"
// console.log("h".padEnd(5,"o")); // "hoooo"
// console.log("h".padStart(5));
// console.log("hello".padStart(6,"A"));
// //模板字符串
// let string1 ="hello\nworld";
// console.log(string1);
// 过滤 HTML 字符串,防止用户输入恶意内容。
function f(stringArr,...values){
let result = "";
for(let i=0;i<stringArr.length;i++){
result += stringArr[i];
if(values[i]){
result += String(values[i]).replace(/&/g, "&")
.replace(/</g, "<")
.replace(/>/g, ">");
}
}
return result;
}
let name = '<Amy&MIke>';
console.log(f`<p>Hi, ${name}.I would like send you some message.</p>`);