网页——JS(正则表达式对象、数组对象)

本文主要介绍JavaScript中的正则表达式,包括位置、次数、通配符等概念,以及正则表达式的创建和常用方法。同时,讲解了数组对象的特点,如长度可变和能存储多种数据类型,并提供了replace()方法在处理字符串时的应用实例。

一、正则表达式
位置: ^ 开头 $ 结尾
次数:

  •   0或多个
      +		1或多个
      ?		0或1个
      {n}		就是n个
      {n,}	至少n个
      {n,m}	最少n个,最多m个		
    

通配符:

		\d		任意数字
		\D		任意非数字
		\s		任意空白
		\S		任意非空白
		.		任意字符(除'\n'外)

组合:

		[a-z]
		[0-9]

组:

		(正则)		匹配括号中正则表达式对应的结果,并暂存这个结果。
		(?:正则)	匹配括号中正则表达式对应的结果,但不暂存这个结果。
		\数字		使用第n个组匹配的结果
		使用正则的工具(RegExp类与相关方法)

创建:

	    // 方式一
		var regex = new RegExp("正则表达式", "标志");
		var regx=/[a-zA-Z0-9]+/i; //i不区分大小写的匹配  g 全文匹配
		// 方式二
		var regex = /正则表达式/标志
		var regx=new RegExp("[a-zA-Z0-9]","i");

案例:

			var regx=/^[a-z]+$/; //加上开头和结尾 整体去匹配
			//匹配方法 test()
			var f=regx.test("aAc");  //test() 传入一个字符串,看这个字符串符不符合我定义的这个正则对象
			alert(f);

参数说明:
正则表达式:
参见上面的规则
标志:

		g (全文查找出现的所有 pattern) 
		i (忽略大小写) 

方法:

		Regexp.test( str )
		String.replace( regex, str )

正则表达式对象常用的方法:

		 test()  使用正则对象去匹配字符串  如果匹配成功返回ture,否则返回false.	
		 exec()  根据正则表达式去查找字符串符合规则的内容。

模式:

			g (全文查找出现的所有 pattern) 	
			i (忽略大小写)
			var str = "hello123";
			var reg = /^[A-Z0-9]+$/i;
			alert("匹配吗?"+reg.test(str));	
			}

案例一:查找出三个字符组成的单词

				var str  ="da ABC jia hao hao xue xi a";
				var regx=/\b[a-z]{3}\b/gi;  //g 全文匹配  i 不区分大小写
				var str2=regx.exec(str); 根据正则截取出符合正则的数据,需要你注意的是全文匹配
				alert(str2);
				str2=regx.exec(str);
				alert(str2);
				var line=null;
				while((line=regx.exec(str))!=null){
					alert(line);	
				}

案例二:通过正则把符合条件的数据放在数组总
1.字符串 stringObject 的 replace() 方法执行的是查找并替换的操作。
2.它将在 stringObject 中查找与 regexp 相匹配的子字符串,
3.然后用 replacement 来替换这些子串。如果 regexp 具有全局标志 g,
4.那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。

             var str="abc=bbb=ccc";
			 var regx=/=/g;
			 var arr=str.split(regx);
			 arr.forEach(function(ele){
		 	alert(ele);
			 });
		
			var str2="abc=bbb=ccc";
			 var str3=str2.replace(regx,"#"); //替换的时候,注意模式要全文匹配
			 alert(str3);

			 var str="Visit W3School!";
			
			 document.write(str.search("W3School"));

			 var str6="abc bbb ccc ddd eee aa c e";
			 var v=str6.match(/[a-z]{3}/g); //把符合正则的数据获取到数组中,需要注意的是你要不要全文匹配
			 alert(v);
			var str = "1 plus 2 equal 3"
			document.write(str.match(/[0-9]+/g));

二、 Array数组
JS中数组的两个特点 1.数组长度可变。2,可以存储多种数据类型

			 var arr=new Array();
			 arr.push(1)
			 var arr2=new Array(5);
			 var arr3=new Array(10,30,50);
			 //简写
			 var arr4=[1,3,5,6,10];
			//ES6 中对于数组对象,新增加了一些方法

			 var fruits = ["Banana", "Orange", "Apple", "Mango"];
			 var fhz=fruits.entries();
			 //var k=fhz.next().key;
			 var k=fhz.next().value;
			 alert(k[0]);
			 alert(k[1]);	
			 arr.push(10); //往数组的后面添加元素
			 arr.unshift(100);//往数组的前面添加元素
			 alert(arr);
			
			isArray() 	//判断对象是否为数组。
			
			alert(arr instanceof Array);
			alert(Array.isArray(arr));
			
			  filter() 	//过滤数组中符合要求的元素到新的数组中 
			 map() 	   //提取数组中的每个元素,应用到新的方法上,处理后放到一个新的数组中。
			  reduce() 	//将数组元素计算为一个值(从左到右)。
			 var arr= ["Banana", "Orange","Banana"];
			 var newAarr=arr.filter(function(ele){
			 	return ele.startsWith("B");
			 })
			 alert(newAarr);
			 var arr= ["aaa", "bbb","cdd"];
			 var arr2=arr.map(function(ele){

			 	return ele.toUpperCase();
			 });

			 alert(arr2);
			
			var arr=[10,20,40,40,50];
			var sum=arr.reduce(function(a,ele){
				return a+ele;
			});
			alert(sum);
			 every() 	//检测数组元素的每个元素是否都符合条件。
			 some() 	//检测数组元素中是否有元素符合指定条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值