js常用小方法

一、js截取字符串

var str = '学生:张三';

1.用split()

split() 方法用于把一个字符串分割成字符串数组
这个如果特殊字符有多个,会都截取,分成n份(n代表:有多少特殊字符就是多少)

var a = str.split(':');
console.log(a[0],a[1]) //a[0]是截取的前面的数据,a[1]是截取的后面的数据

2.用substring()

substring() 方法用于提取字符串中介于两个指定下标之间的字符
这个用于截取第一个特殊字符前后的内容。
也可以用于截取最后一个特殊字符前后的内容,只需要把indexOf换成lastIndexOf
var a = str.indexOf(':');
var b = str.substring(0,a);
var c = str.substring(a,str.length);
var d = str.substring(a+1,str.length);
console.log(a,b) // b: 学生,  c: :张三,  d: 张三

3.封装方法

/*
  *obj 传递的字符串
  *assignmentCharacter 传递的指定特殊符号
  *lastIndexOf 最后一个特殊字符
*/	
function getCaption(obj, assignmentCharacter) {
			let index = obj.lastIndexOf(assignmentCharacter)
			let res = obj.substring(index + 1, obj.length)
			return res
}

二、js去除字符串空格

var str=" 5 zhnag 6 22"

使用js去除字符串内所带有空格,有以下三种方法:

( 1 ) replace正则匹配方法

  去除字符串内所有的空格:str = str.replace(/\s*/g,"");

  去除字符串内两头的空格:str = str.replace(/^\s*|\s*$/g,"");

  去除字符串内左侧的空格:str = str.replace(/^\s*/,"");

  去除字符串内右侧的空格:str = str.replace(/(\s*$)/g,"");

示例:

var str = " 5 zhnag 6 22";
var str_1 = str.replace(/\s*/g,"");
console.log(str_1); //5zhnag622//去除所有空格
var str = " 6 6 ";
var str_1 = str.replace(/^\s*|\s*$/g,"");
console.log(str_1); //6 6//输出左右侧均无空格
var str = " 6 6 ";
var str_1 = str.replace(/^\s*/,"");
console.log(str_1); //6 6 //输出右侧有空格左侧无空格
var str = " 6 6 ";
var str_1 = str.replace(/(\s*$)/g,"");
console.log(str_1); // 6 6//输出左侧有空格右侧无空格

( 2 ) str.trim()方法

trim()方法是用来删除字符串两端的空白字符并返回,trim方法并不影响原来的字符串本身,它返回的是一个新的字符串。

缺陷:只能去除字符串两端的空格,不能去除中间的空格

示例:

var str = " 6 6 ";
var str_1 = str.trim();
console.log(str_1); //6 6//输出左右侧均无空格

//单独去除左侧空格则使用 str.trimLeft(); //var str_1 = str.trimLeft();

//单独去除右侧空格则使用 str.trimRight();//var str_1 = str.trimRight();

( 3 ) JQ方法:$.trim(str)方法

 $.trim() 函数用于去除字符串两端的空白字符。

  注意:$.trim()函数会移除字符串开始和末尾处的所有换行符,空格(包括连续的空格)和制表符。如果这些空白字符在字符串中间时,它们将被保留,不会被移除。

示例:

var str = " 6 6 ";
var str_1 = $.trim(str);
console.log(str_1); //6 6//输出左右侧均无空格

三、js进行根据指定下标获取数组相同下标的值(非常常用)

	/*根据指定下标获取数组相同下表的值方法
	 *index 传递指定下标
	 *arrays 传递数组(可多个)
	 *resVal 返回格式(字符串格式)
	 *该方法暂不支持ie浏览器
	 */
	// function getValueByIndex(index, ...arrays) {
	// 	var resVal = $.map(arrays, function(arr) {
	// 		return arr[index];
	// 	});
	// 	return resVal.join('');
	// }
	/*根据指定下标获取数组相同下标的值方法
	 *该方法暂支持ie浏览器
	 */
	function getValueByIndex(index) {
	  // 将除第一个参数index以外的其他参数放入一个新数组中
	  var arrays = Array.prototype.slice.call(arguments, 1);
	  // 将所有数组中在指定索引位置上的元素放入一个新数组中
	  var result = arrays.map(function(array) {
	    return array[index];
	  });
	  	return result.join('');
	}

四、js获取字符串或数组是否包含某个属性,两种方法

1.使用includes方法,ie浏览器不支持

	if (tophonordetail.includes(".")) { // 判断是否包含句号
			tophonordetail = tophonordetail.replace("......", ""); // 去除逗号
		}

2.使用indexof方法,ie浏览器支持

	if (tophonordetail.indexOf(".") !==-1) { // 判断是否包含句号
			tophonordetail = tophonordetail.replace("......", ""); // 去除逗号
		}

五、jq获取多个p标签嵌套strong标签后的节点元素信息

使用nextSibling方法和charAt方法

	$(".newsData_main .table_list p").find('strong').each(function() {
				var nextNode = this.nextSibling // 获取 strong 标签的下一个节点
				var textContent=''
				if (nextNode) {//如果扎到文本节点 输出文本节点内容
					textContent=nextNode.textContent.trim()
					if (textContent.charAt(0) === ',' || textContent.charAt(0) === ':' || textContent.charAt(0) ===
						'。') { // 判断最后一个字符是否为逗号
						$(this).css({
							"font-size": "24px",
							"display": "initial",
							"text-align": "center",
						}); // 设置年度人物单独样式
					}
				}
			})

猜你喜欢

转载自blog.csdn.net/weixin_53339757/article/details/131200096