Es6 复阅(2)(部分是非es6的)-- 字符串的方法(raw...,trim)

标签模板“:标签模板”的一个重要应用,就是过滤 HTML 字符串,防止用户输入恶意内容
(理解不了)

	let message = SaferHTML`<p>${sender} has sent you a message.</p>`;
	
	function SaferHTML(templateData) {
	  let s = templateData[0];
	  for (let i = 1; i < arguments.length; i++) {
	    let arg = String(arguments[i]);
	
	    // Escape special characters in the substitution.
	    s += arg.replace(/&/g, "&amp;")
	            .replace(/</g, "&lt;")
	            .replace(/>/g, "&gt;");
	
	    // Don't escape special characters in the template.
	    s += templateData[i];
	  }
	  return s;
	}

字符串新增方法

Strng.raw()
该方法返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串,往往用于模板字符串的处理方法

String.raw()方法可以作为处理模板字符串的基本方法,它会将所有变量替换,而且对斜杠进行转义,方便下一步作为字符串来使用。

String.raw()本质上是一个正常的函数,只是专用于模板字符串的标签函数。如果写成正常函数的形式,它的第一个参数,应该是一个具有raw属性的对象,且raw属性的值应该是一个数组,对应模板字符串解析后的值。

实例方法

includes():返回布尔值,表示是否找到了参数字符串。
startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。

这三个方法都支持第二个参数,表示开始搜索的位置。

	let s = 'Hello world!';
	
	s.startsWith('world', 6) // true
	s.endsWith('Hello', 5) // true
	s.includes('Hello', 6) // false

使用第二个参数n时,endsWith 的行为与其他两个方法有所不同。它针对前n个字符,而其他两个方法针对从第n个位置直到字符串结束。

reapt : 将字符串重复指定的次数:

	'ha'.reapt(3.4);// hahaha  重复了三次 参数是小数则自动取整
	'ha'.reapt('3');// hahaha  重复了三次  参数是字符串,则会先转换成数字
	'ha'.reapt('sadsd');// 乱七八糟输入了一堆  结果是空 参数NaN等同于 0
	//repeat的参数是负数或者Infinity,会报错。

padStart, padEnd: 补全字符串长度

	//指定补全字符串
	'x'.padStart(10,'abc'); //会在x 前面用abc来补全,凑够十位的长度  'abcabcabcx'
	'X'.padEnd(10,'abc');//会在x 后面用 abc 来补全,凑够十位的长度	'xabcabcabc'
	// 如果补全长度小于或者等于原字符串的长度,则返回原字符串
	'x'.padStart(1,'a'); // x
	
	//不指定补全字符串,默认用空格补全
	'x'.padStart(10); //'         x',九个空格

字符串补全的用途:

1.格式提示:

	let str = '12';
	console.log(str.padStart(10,'YYYY-MM-DD'));// YYYY-MM-12

2.得到指定位数的字符串:

	let str = '4234';
	console.log(str.padStart(10,'0'));//不够十位的用零补全
	

trim

	trim():去除首尾空格
	trimStart()trimLeft(): 去除字符串头部的空格
	trimEnd()trimRight() : 去除字符串尾部的空格

扩:(使用正则去除字符串)

	去除左边:/^\s*/
	去除右边:/\s*$/
	去除左右两边:/(^\s*|\s*$)/
	去除所有:/\s*/
发布了50 篇原创文章 · 获赞 4 · 访问量 1266

猜你喜欢

转载自blog.csdn.net/weixin_43910427/article/details/104989424