String字符串和正则表达式
一·String 对象方法
概念:多个字符组成的只读字符数组.........String本质上就是数组
和数组的不同
1.数组可以随意修改原数组,但字符串只读字符数组,一旦创建内容不可改变
2.类型不同:数组是Array,字符串是String都不可用
相同
1.都能用[i]访问某个元素或字符
2.都有length属性来记录元素或字符的个数
3.都能有for循环遍历元素或字符
4.都支持slice选取子数组或字符串
常用的API
toLowerCase(): 把字符串转为小写,返回新的字符串
1 var str="Hello World"; 2 var str1=str.toLowerCase(); 3 console.log(str); //Hello World 4 console.log(str1); //hello world
toUpperCase(): 把字符串转为大写,返回新的字符串
1 var str="hello world"; 2 var str1=str.toUpperCase(); 3 console.log(str); //hello world 4 console.log(str1); //HELLO WORLD
charAt(): 获取指定下标位置的字符
1 var str="hello world"; 2 var str1=str.charAt(6); 3 console.log(str1); //w
charCodeAt(): 返回指定下标位置的字符的unicode编码
1 var str="hello world"; 2 var str1=str.charCodeAt(1); 3 var str2=str.charCodeAt(-2); //NaN 4 console.log(str1); //101
concat() 方法用于连接两个或多个字符串。
1 <script type="text/javascript"> 2 3 var str1="Hello " 4 var str2="world!" 5 document.write(str1.concat(str2)) 6 7 </script>以上代码的输出是: 8 9 Hello world!
replace(): 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
1 var str="hello WORLD"; 2 var reg=/o/ig; //o为要替换的关键字,不能加引号,否则替换不生效,i忽略大小写,g表示全局查找。 3 var str1=str.replace(reg,"**") 4 console.log(str1); //hell** W*RLD
查找关键词的四种方法
1.查找一个固定的关键词出现的位置
var i =string.indexog("关键词”)默认从0开始,默认仅能查找一次出现的位置
1 var str="Hello World"; 2 var str1=str.indexOf("o"); 3 var str2=str.indexOf("world"); 4 var str3=str.indexOf("o",str1+1); 5 console.log(str1); //2 默认只找第一个关键字位置,从下标0开始查找 6 console.log(str2); //-1 7 console.log(str3); //7
2.判断字符串中是否包含符合正则的敏感词
var i = str.search(/正则/i) i表示忽略大小写 在str中找到第一个符合正则表达式要求的关键字的位置 返回值:找到了返回关键词的下标,如果没有找到返回-1
1 <script type="text/javascript"> 2 3 var str="Visit W3School!" 4 document.write(str.search(/w3school/i)) 5 6 </script> 7 输出:6
二.正则表达式
RegExp 是正则表达式的缩写。
RegExp 对象的方法
RegExp:
封装一条正则表达式,提供了使用正则表达式进行查找和验证的API
创建 直接量的创建 已知规则
var reg=/no/g;// 所有与的/在正则中都要加上\/才能转义为/
console.log(typeof reg);//object 对象
动态创建正则
var reg1=new RegExp(/正则/,"gi");
对象有 3 个方法:test()、exec() 以及 compile()。