字符串

来源:互联网 发布:单片机做的毕业论文 编辑:程序博客网 时间:2024/06/08 03:59

内置对象:ECMAScript标准中已经定义好的,由浏览器厂商已经实现的标准对象。

内置对象封装了常用的API和专门的数据。

内置对象列表:String,Boolean,Number,Array,Date,Math,Error,Function,Object,Global


******规律:所有字符串API,都需要变量接收返回值!********

字符串的字符个数:str.length属性

字符串类型底层其实都是用字符数组实现的

比如:str[i]


大小写转换:大小写字母一视同仁时,先转化,再处理

比如:重名验证,重复邮箱,验证码

密码不是:pass@word1   !=    Pass@word1

获取指定位置字符:var char=str.charAt(index);     (在index位置的char)


字符串三大操作:1.查找关键字   2.替换关键字    3.获取子字符串


查找关键字:

var index=str.indexOf("关键字");

返回关键字所在位置!如果没找到,返回-1。

indexOf:懒:只能找到第一个关键字位置!

                  蠢:默认只能从位置0开始。

var index=str.indexOf("关键字",from);      from:开始查找的位置

从最后一个字符串,向前找,只要关键字离结尾近,就用last。

var index=str.LastIndexOf("关键字",from);    from:开始查找位置,从from开始向前查找

返回的index和前一个从前往后找是完全相同的,都是下标位置。


获取子字符串:

var subStr=str.slice(start,end);

str.substring(start,end+1)用法同slice!

唯一差别:不支持负值作为参数!

substring是为了其他语法兼容,并不是多余

str.substr(start,*count*)

以上三个方法省略第二个参数,默认都是取到结尾!


按规律分割字符串:var subs=str.split("分配符",count);

例子:将no zuo no die的首字母都大写

var str="no zuo no die";var words=str.split(" ");for(var i=0;i<words.length;i++){    words[i]=words[i][0].toUpperCase()+words[i].substring(i);}str=words.join(" ");document.write("<br>"+str);


获得所有关键字的内容:  var kwords=str.match(reg);

只能取得关键字的内容,无法确定每个关键字的位置!

kwords.length:找到的关键字个数!

如果未找到,返回null只要有可能返回null,都要先判断不等于null,再处理!


var index=str.search(reg);    和indexOf完全相同。

indexOf不支持模式查找!search其实是indexOf的模式查找版

search很少用,因为没有第二个参数,只从第一个开始查找。



补:

什么是模式匹配:可以设置查找或替换的规则!

何时使用模式匹配:要查找的关键字可能发生有规律的变化。

如何使用模式匹配:1.定义模式:/关键字/模式

比如:var reg=/no/i; no是要查找的关键字原文,不加""。i表示忽略大小写。


String类型中,提供了专门支持模式匹配的API!

按模式替换关键字:str=str.replace(reg,"新值");

        默认replace仅替换第一个关键字!

        要想全局替换,要在模式中定义“g”





String总结:

所有AOI都无法修改原字符串,都会返回新字符串

所有String API都需要用变量保存结果!

str.length 字符个数    str=str.toLowerCase();       str=str.toUpperCase()

查找关键字:var index=str.indexOf("关键字",from);

                       var arr=str.match(/正则表达式/g);

获取子字符串:var substr=str.slice(start,end+1);

                          var substr=str.substring(start,end+1);

                          var substr=str.substr(start,count);

替换子字符串:str=str.replace(/正则表达式/g,"替换值");

获取指定位置的字符:var char=str.charAt(index);

                                         var char=str[index];

字符编码转码:var code=str.charCodeAt(index);

                            var char=String.fromCharCode(code);