字符串中常用的方法

一、charAt()
获取对于下标的字符
返回值:获取到的字符,没有对应的下标返回空的字符串

var str = 'ni hai ji den na tian ma';

            //alert(str.length)//24
            alert(str.charAt(1))
            //返回i 不写默认为0
//返回空 因为对应坐标是空格

二、charCodeAt()
获取对应下标处字符的编码
返回值:获取到的字符编码(0~65535),没有对应下标的返回NaN

      var str = 'Do you remember me?'
            alert(str.charCodeAt(0))
            //查找字符的编码 68

三、String.fromCharCode()
将字符编码转成相对应的字符
alert(String.fromCharCode(68)) //返回D 根据字符编码 返回相应的字符

四、字符串大小写转换
toLowerCase 全部转成小写
toUpperCase 全部转成大写
以返回值的形式得到结果,原字符串不会改变

var str = 'Your figure is dimly gone'

            alert(str.toLowerCase())
        //返回 your figure is dimly gone

            alert(str.toUpperCase())
        //返回 YOUR FIGURE IS DIMLY GONE

五、判断是否相等
== 和 === 运算符
一般js中判断相不相等,都是用” == ” 和 ” === ”
== 是值相等
=== 是值、类型相等
字符串与数字比大小是数字与数字的比较
字符串与字符串之间比较的是首字符的编码

var str4 = 1;
var str5 = "1";
console.log(str4==str5);// true
console.log(str4===str5);// false
alert('10'>9)//true
alert('10'>'9')//false

六、查找字符串
indexOf()默认从左侧开始查找对应第一次出现的字符串的下标
lastIndexOf从右侧开始查找对应第一次出现的字符串的下标
如果找到了对应的元素则返回该元素的下标值,否则返回-1
第一个参数如果字符串中有重复的字符只会找第一个,就不会往下找了
第二个参数是从第几位开始找 不能为负数 找不到返回-1

var str = 'I do not understand where the most peace of mind';
            alert(str.length)//48
            alert(str.indexOf('o'))
            //返回3 查找字符串里面首次出現的字符 找到就不往下找了
            alert(str.lastIndexOf('d'))
            //返回47 从右边往左边找首次出现的 下标还是从左往右

七、replace
从左侧开始查找对应的字符串,找到之后把它替换。
不会更改原来的字符串
注意:不会更改原来的字符串

var str = 'When the rain turned into light rendering the cicada';
            alert(str.replace('the','THE'));
            //返回When THE rain turned into light rendering the cicada
            alert(str)
            //返回When the rain turned into light rendering the cicada

八、提取字符串
substring提取字符串
第一个参数开始提取字符串的起始位置,如果第二个参数没写之间提取到末尾
第二个参数是到提取的终点位置(不包含)
如果任何一个参数小于0或者是NaN都会当作是0
如果第一个参数大于第二个参数就会前后自动颠倒
如果第二参数大于字符串的length,就会把他等于字符串的length

var str = 'If pride is not taken cold by the real sea';
//从某个下标开始提取,一直到提取到原字符串的末尾       
//alert(str.substring(2))
//返回pride is not taken cold by the real sea
//从参数1下标开始提取,一直提取到原字符串参数2下标之前   
//alert(str.substring(2,16))
//返回 pride is not 

substr:
从某个下标开始提取,一直到提取到原字符串的末尾
第一个参数是开始位置
第二个参数是提取的长度

var str = 'No more than half a day';
            alert(str.substr(3));
            //返回more than half a day
            alert(str.substr(3,4))
            //返回more  第二参数是提取几个长度的字符

九、切割 split()
切割字符串。成为数组
返回值:被切割后的字符串被保存在数组中然后返回
1.可以以字符串里面的内容为分隔符
2.split() 分割成一个数组
3.split(”)字符串中每个字符用逗号隔开分成多个数组

            var str= 'Love and hate change from cold and warm';
            //alert(str.split())
            //返回['Love and hate change from cold and warm']
            //alert(str.split().length)//1
            //(str.split(''))
            //返回[L,o,v,e, ,a,n,d, ,h,a,t,e, ,c,h,a,n,g,e, ,f,r,o,m, ,c,o,l,d, ,a,n,d, ,w,a,r,m]
            //alert(str.split('').length)//39
            alert(str.split('a'))
            //返回[Love ,nd h,te ch,nge from cold ,nd w,rm]

ES6中新增:
a. 模版字符串:反勾号( ` )
1.支持字符串元素注入

        <script type="text/javascript">
            const str = "str";
            const num = 1;
            const void0 = void(0);
            const bool = true;
            const obj = {foo: 'bar'};
            const arr = [1,2,3];
            const err = new Error('error');
            const regexp = /foobar/;


            const str1 = `String: ${str}`;//String: str
            const str2 = `Number: ${num}`;//Number: 1
            const str3 = `null: ${null}`;//null: null
            const str4 = `undefined: ${void0}`;//undefined: undefined 
            const str5 = `Boolean: ${bool}`;//Boolean: true
            const str6 = `Object: ${obj}`;//Object: [object Object]
            const str7 = `Array: ${arr}`;//Array: 1,2,3
            const str8 = `Error: ${err}`;//Error: Error: error
            const str9 = `RegExp: ${regexp}`;//RegExp: /foobar/
            console.log(str1,str2,str3,str4,str5,str6,str7,str8,str9)
        </script>

2.支持换行

        <script>
            //字符串的扩展
            //模版字符串 ``
            let fa = true;
            let html = `<ul>
                            <li>
                                <span>${'首页'}</span>
                                <span></span>
                                <span class="${fa ? 'show' : 'hide'}"></span>
                                <span></span>
                                <span></span>
                            </li>
                        </ul>`;
        </script>

b. repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的(指定数量)的字符串的副本。
参数:0和正无穷大之间的整数
返回值: 包含指定字符串的指定数量副本的新字符串

let str1 = 'a';

let str2 = str1.repeat(3) //传入参数为个数
console.log(str2)//'aaa'

c. includes()查找字符串中是否包含字符串
返回值为布尔值

let str = 'miaov';

console.log(str.includes('ao'))//true
console.log(str.includes('b'))//false

d. startsWidth()查找字符串开头是否包含字符串
返回值为布尔值

let str = 'miaov';
console.log(str.startsWith('m'))//true
console.log(str.startsWith('i'))//false

e. endsWidth()查找字符串结尾是否包含字符串
返回值为布尔值

let str = 'miaov';
console.log(str.endsWith('aov'))//true

猜你喜欢

转载自blog.csdn.net/tang242424/article/details/72972492