JS字符串方法

初探

var str = 'stringstring';
str.length -> 字符串长度
str[100] -> undefined
// => 字符串中的每一个字符都有一个自己对应位置的索引,也有类似于数组一样的length
for(var i = 0; i < str.length; i++){
	console.log(str[i]);
}

关于字符串中常用的方法

字符串是基本数据类型,字符串的每一次操作 都是值直接的进行操作,不像数组是基于空间地址操作。
1.charAt/charCodeAt
作用: charAt根据索引获取指定位置的字符,
charCodeAt不是获取字符,而是获取字符对应的Unicode编码

2.indexOf/lastIndexOf
基于这个方法,可以获取字符再字符串第一次或者最后一次出现的位置索引,有这个字符,返回大于等于0的索引,不包含这个字符,返回的结果是-1,所以可以基于这两个方法,验证当前字符串是否包含某个字符

var str = 'strstr';
if(str.indexOf('@') > -1){
}

3.slice
作用:str.slice(n, m)从索引n开始找到索引为m处(不包含m),将新字符串返回
4.subString
和slice语法一模一样,唯一的区别:subString不支持负数索引
5.substr
用法:str.substr(n, m), 从索引n开始截取m个字符,支持负数索引
6.toUpperCase/toLowerCase
作用:实现字母的大小写转换
7.split
拆分字符串
8.replace
作用:替换字符串中的原有字符
参数:原有字符,要替换的新字符
返回:替换后的字符串

  • includes
  • localeCompare
  • search
  • trim

应用:
1.时间字符串格式化

有一个时间字符串“2018-4-4 16:26:8”

function (pro) {
	pro.formatTime = function (template) {
		template = template || '{0}年{1}月{2}日{3}时{4}分{5}秒';
		var ary = this.match(/\d+/g);
		template = template.replace(/\{(\d+)\}/g, function (){
			var n = arguments[1],
			var val = ary[n] || '0';
			val < 10 ? val = '0' + val: null;
			return val;
		});
		return template		
	}
}(String.prototype);

2.url地址问号传参解析

有一个url地址 http:www.baidu.com/?name=‘11’&age=12#teacher
正则法

	var str = "http:www.baidu.com/?name='11'&age=12#teacher";
	function (pro) {
		pro.queryURLParameter = function () {
			var obj = {},
				reg= /([^?=&#]+)(?:=([^?=&#]+)?)/g;
				this.replace(reg, function () {
					var key = arguments[1],
						value = arguments[2] || null;
						obj[key] = value;
			})
			return obj;
		}
	}(String.prototype)

你可能感兴趣的:(前端开发)