JavaScript String

JavaScript String

  版权声明:未经授权严禁转载!  


 内置对象

  对象,是封装了数据和操作数据的 API 集合。

  所有引用类型的集合,我们称之为“对象”。

  不同的对象,具有不同的属性和方法(函数)。

  内置对象,是 ECMAScript 标准中已经定义好的,

  JavaScript 中的内置对象有:

    - String、Boolean、Number、Array、Date、RegExp、Math、Error、Function、Object、Global

    

 案例代码

 // 原始类型
var s1 ="hello";
var n1 =123456;
var b1 = true;


 // 包装类型
var s2 = new String("hello");
var n2 = new Number(123456);
var b2 = new Boolean("true");

console.log(s1)
console.log(s2)
console.log(n1)
console.log(n2)
console.log(b1)
console.log(b2)

    

  

 String 对象

  字符串,是多少字符组成只读字符序列。

  String 字符串对象,用于储存和操作字符串,提供了很对 API。

  字符串是一个原始值,可以直接复制给一个变量。

  也可以使用 new 关键字将字符串定义为一个字符串对象。

  字符串要使用单引号或双引号包含。

   

  可以使用  .length 属性来获取字符串的总字符数。

  字符串中每一个字符都是可以通过索引位置来访问,索引从 0 开始。

  字符串的值是不可以改变的。

代码案例

var s1 = "hello word";
console.log(s1.length); // 获取字符串的长度
console.log(s1[0]); // 通过索引获取字符串的某一个字符,原始类型的值不可以改变

 String API

   

 大小写转换 - toUpperCase() / toLowerCase()

   toUpperCase() ,将字符串中的字母统一转化为大写,返回转换后的字符串。

   toLowerCase() ,将字符串中的字母统一转化为小写,返回转换后的字符串。

   调用方法:

    - s.toUpperCase()

    -s. toLowerCase() 

案例代码

// 大小写转换
var s2 = "Hello Word";
console.log(s2.toUpperCase()); // 全部转化为大写 不改变原字符串
console.log(s2.toLowerCase()); // 全部转化为小写 不改变原字符串

    

 字符串编码转换

  charCodeAt(i) ,获取指定索引位置的字符的 Unicode 编码。

    调用方法:s.charCodeAt(i)

  String.fromCharCode(unicode),将 Unicode 编码转回原文。

    调用方法:String.fromCharCode(unicode)

 案例代码

// 获取指定索引位置的Unicode编码
var s1 = "Hi,2点老地方见!"
var u1 = s1.charCodeAt(0);
var u2 = s1.charCodeAt(1);
var u3 = s1.charCodeAt(2);
var u4 = s1.charCodeAt(3);
var u5 = s1.charCodeAt(4);
console.log(u1);
console.log(u2);
console.log(u3);
console.log(u4);
console.log(u5);

// 解码 unicode转回原文
console.log(String.fromCharCode(u1));
console.log(String.fromCharCode(u2));
console.log(String.fromCharCode(u3));
console.log(String.fromCharCode(u4));
console.log(String.fromCharCode(u5));
console.log(String.fromCharCode(u1,u2,u3,u4,u5));

      

 截取子字符串

   slice([start,end]),返回从 start 到 end-1 范围内的子字符串。

    - 调用方法: str.slice(start,end)

    - 省略end,表示一直到结尾;两个参数都省略表示选取全部,支持负数下标。

  substring(start,end),同上,但是不支持负数下标。

    - 调用方法: str.substring(start,end)

  substr(start,n) ,返回从 start 开始的 n 个字符组成的字符串

    - 调用方法: str.substr(start,n) 

 案例代码

    //截取子字符串
    var han="130102199611124648";
    //       012345678901234567
    //取出生的年份
    console.log(han.slice(6,10));//含头不含尾
    console.log(han.slice(6,-8));//支持负数下标
    console.log(han.substring(6,10));//不支持负数下标
    console.log(han.substr(6,4));//第二个参数为个数

    

 检索字符串

  indexOf(value,[from]),检索一个指定的关键词在字符串中首次出现的位置。

    - 调用方法:str.indexOf(value,[from])

      - value:指定要查找的字符串。

      - from:指开始查找的位置,如果省略,默认从头开始。

      - 返回值:返回关键词的第一个字的下标位置;如果找不到,返回 -1 。

  lastIndexOf(value,[from]),用法同上,但是从后往前索引。

    - 调用方法:str.lastIndexOf(value,[from])

代码案例

//检索字符串

var str="明明喜欢我,却不告诉我;别理我,我想静静。静静是谁?你先告诉我明明是谁!";
// str=new String(str);
console.log(str);
//查找‘明明’出现的位置
console.log(str.indexOf("明明"));//返回第一次出现的索引位置
console.log(str.indexOf("明明",12));//第二个参数表示开始查找的位置

//找出所有的“我”出现的位置
var i=0;
do{
    var newi=str.indexOf("我",i)
    if(newi==-1) break;
    console.log("在位置"+newi+"处找到了一个'我'");
    i=newi+1;
}while(true)

var lasti=str.lastIndexOf("我",13);//从后往前找
console.log(lasti)

  

 模式匹配

    var str="韩向琳,何山,董晓勇,韩小米,何炅,董永,tom,jerry,mia,jack,tom,mary,jimmy";

    //search()查找
    //查找“韩”出现的位置
    console.log(str.indexOf("韩"));
    console.log(str.search("韩"));
    //查找Mia,不区分大小写
    console.log(str.search("Mia"));//找不到,大小写不一致
    console.log(str.search(/Mia/i));//i表示匹配时不区分大小写


    //match()匹配
    console.log(str.match("tom"));//只能找到一个
    console.log(str.match(/tom/g));//g表示全局匹配,只能找到相同的
    //查找所有的英文人名
    console.log(str.match(/w+/g));//w+表示所有连续的单词字符


    //split()分割
    console.log(str.split(","));//只能指定一种分隔符
    console.log(str.split(/[,,]/));//[]表示指定的任意一个字符都可以匹配


    //replace()替换
    console.log(str.replace("董","懂"));//只能替换一个
    console.log(str.replace(/董/g,"懂"));//全部替换

  

原文地址:https://www.cnblogs.com/wjw1014/p/8979570.html