JavaScript字符串方法和正则表达式

字符串方法

在底层字符串是以字符数组的形式保存的

length
	用来获取字符串的长度
charAt()
	返回指定位置的字符
charCodeAt()
	获取指定位置字符Unicode编码
String.fromCharCode();
	根据Unicode编码获取字符
concat()
	连接字符串
indexOf()
	该方法可以检查一个字符串中是否含有指定内容
	如果字符串有该内容,则返回第一次出现的索引位置,没有则返回-1
	指定第二个参数表示从指定位置开始找‘
lastIndexOf()
	从后往前找
slice()
	截取字符串
	可以从字符串中截取指定内容
	参数:包括第一个,不包括第二个,如果省略第二个参数则截取到后面所有参数
	如果第二个参数为负值则从后面开始计算
substring()
	截取字符串,和slice()类似,不能接收负值,如果第二个参数小于第一个则自动调换
substr()
	截取字符串
	参数:截取开始位置和截取的长度
split()
	可以将一个字符串拆分为一个数组
	需要一个字符串作为参数,根据字符串拆分成数组
	如果传递一个空字符串,则拆分每一个
toLowerCase():将一个字符串转换为小写
toUpperCase():将一个字符串转换为大写

代码解释

			var str = "hello";
			console.log(str.length); //5
			//charAt()
			console.log(str.charAt(0)); //h
			//charCodeAt()
			console.log(str.charCodeAt(0)); //104
			//String.fromCharCode()
			console.log(String.fromCharCode(104)); //h
			//concat()
			console.log(str.concat("你好")) //hello你好
			//indexOf()
			console.log(str.indexOf("o")); //4
			//lastIndexOf()
			console.log(str.lastIndexOf("o")); //4
			//slice()
			console.log(str.slice(0,2)); //he
			//substring()
			console.log(str.substring(0,2)); //he
			//substr()
			console.log(str.substr(0,2)); //he
			//split()
			var str2 = "123,456,789";
			result = str2.split(","); // 根据逗号拆分字符串
			console.log(result); // ["123", "456", "789"]
			
			str = "abcde";
			console.log(str.toUpperCase()); //ABCDE
			str = "ABCDE";
			console.log(str.toLowerCase()); //abcde

正则表达式

正则表达式用于定义一些字符串规则

根据正则表达式来检查一个字符串是否符合规则
	语法:
		var 变量 = new RegExp("正则表达式", "匹配模式");
使用字面量来创建正则表达式
	语法:
		var 变量 = /正则表达式/匹配模式 
	\ 为转义字符
方法:
	test()
		使用这个方法检查一个字符串是否符合正则表达式的规则,返回true或false
	匹配模式:
		i:忽略大小写
		g:全局匹配模式
	[ab] , a|b 都表示或的关系
	[a-z] 任意小写
	[A-Z] 任意大写
	[^...] 除了...
	[0-9] 任意数字
	 /./ 表示任意字符
量词:
	设置一个内容出现的次数,只对前面的内容起作用
	语法:
		/a{n}/ :a正好出现 n 次
		{n,m} :出现 n~m 次
		/a+/ :至少一个a
		/a* / :0个或多个a
		/a?/ :0个或1个a
		/^a/ : 以a开头
		/a$/ :以a结尾
元字符:
	\w 任意字母,数字,下划线
	\W 除了字母,数字,下划线
	\d 任意数字
	\D 除了数字
	\s 空格
	\S 除了空格
	\b 单词边界
	\B 除了单词边界
//字符串和正则表达式的相关方法
	split()
		见下面代码解释
	search()
		搜索字符串中是否含有指定内容
		如果搜索到指定内容则返回第一次出现的索引,没有则返回-1
		可以接受正则为表达式为参数,根据正则表达式去检索字符串   
		
	match()
		可以根据正则表达式从一个字符串中符合条件的提取出来
		默认情况下只会返回第一个符合要求的内容,可以设置正则表达式全局匹配模式
		会将符合条件的内容以数组形式返回
	replace()
		将字符串指定内容替换为新的内容
		参数:被替换的内容  要替换的内容

代码解释

			var reg = new RegExp("a","i");
			console.log(reg.test("asdf")); // true
			
			//创建一个正则表达式,检查一个字符串中是否有a或b
			reg = /a|b/;
			console.log(reg.test("asc")); //true
			
			//创建一个正则表达式检查一个字符串中是否有字母
			reg = /[a-z]/i;
			console.log(reg.test("sdfwere")); //true
			
			//检查一个字符创中是否含有abc 或 adc 或 aec
			 reg = /a[bde]c/;
			 
			//字符串和正则表达式的相关方法:
			//split()
			var str = "1a2b3c4d5f6";
			console.log(str.split(/[a-z]/i)); //["1", "2", "3", "4", "5", "6"]
			//match()
			var str = "1a2b3c4d5f6";
			console.log(str.match(/[a-z]/ig)); //["a", "b", "c", "d", "f"]
			//replace()
			console.log(str.replace(/[a-z]/ig,".")); //1.2.3.4.5
			
			//例题
			//创建一个正则表达式检查一个字符串是否是一个合法手机号
			//以1开头,第二位3~9,三位以后9个任意数字
			var phoneReg = /^1[3-9][0-9]{9}&/;
			
			//去除字符串的空格
			str = "    er  332  ew    ";
			console.log(str.replace(/^\s*|\s*$/g,"")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轩尼诗道-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值