• 字符串属性和函数的使用


    1、属性:
    [[length]]:查询字符串长度
    2、函数
    A·[[charAt(index)]]:查询指定索引的字符串
    [[indexOf('searchValue')]]:查询指定字符的索引值
    [[lastIndexOf('searchValue',start)]]:从后往前查找指定字符的索引,从后往前找指定的字符,找到的第一个字符的索引是
    从前往后算的:如
    ABDHJDF 左边例子中第一个D的索引是2,第二个D的索引是5,则从后往前找的话返回值就是5,从前往后找返回值就是2;找不到
    返回值是-1。


    [[charCodeAt(index)]]:返回指定位置字符的Unicode编码,中文编码段“19968~40622

    [[sclice(start,end)]]:
    1、提取字符串,参数可为负数;参数为-1时截取字符串的最后一位
    2、slice会将此参数与字符串长度相加的结果作为参数从字符串里抽取下标为star到下标为end的字符串(不包括end)
    3、当star>end时,slice会返回空字符串

    [[substr(start,length)]]:从下标为star的字符串开始,截取长度为length的一个子字符串

    [[substring(form,to)]]:
    1、从字符串里截取下标为form到下标为to的字符串(不包括to对应的字符)
    2、当form>to时,substring会把较小的参数作为第一参数
    3、当其中某个参数值为负数时,substring会直接将负数转成0


    注:当只输入一个参数时EFG三个函数的效果一致。

    [[concat()]]:连接,可查找是否包含指定的用户名和密码的组合(up内):(用户名:密码)

    eg.[[up.indexOf(nm.concat(':').concat(pw))]],
    判断该函数大于-1即可得出包含组合,若是不大于-1则表示不包含该组合。即用户名和密码没有一一对应。


    [[split('separator',limit)]]:把字符串变成字符串数组
    假设str='AB CDE FG'
    str.split('')返回值:用逗号将字符串中每个字符()包括空格)隔开(A,B, , C,D,E, , F,G)
    str.split(' ')返回值:以空格为分界,将字符串用逗号隔开变为数组(AB,CDE,FG)
    str.split('',4)返回字符串数组中的前四个包括空格(A,B, ,C)


    eg:姓名、性别、年龄中间用空格隔开,截取字符串时也用空格作为分界线(不使用split函数分割)
    [[name]] [[sex]] [[age]]

    name:从0开始截取,截取到第一个空格结束:
    [[userinfo.substring(0,userinfo.indexof(' '))]]

    sex:从第一个空格开始截取,截取到从后往前+1个空格结束。前后都是空格
    [[userinfo.substring(userinfo.indexof(' ')+1,userinfo.lastindexof(' '))]]

    age:从后往前截取,截取到第一个空格加1的地方结束:
    [[userinfo.substring(userinfo.lastindexof(' ')+1)]]

     


    eg:姓名、性别、年龄中间用空格隔开,截取字符串时也用空格作为分界线(使用split函数分割)

    [[name]] [[sex]] [[age]]

    eg1.[[userinfo_simple.split(' ',target.name).substring(userinfo_simple.split(' ',target.name).lastindexof(',')+1)]]

    思路:截取第n个时limit就是n, 此处使用“target.name”是因为显示的标签命名规则就是从1开始的阿拉伯数字,简化工作量。
    再使用substring函数以空格为分界进行分割,截取到逗号的后面一个(相当于索引加1)就是此次要取的字符串。

    eg1分解开来就是:

    取数组中的第一个:
    [[userinfo_simple.split(' ',1).substring(userinfo_simple.split(' ',1).lastindexof(',')+1)]]

    取数组中的第二个:
    [[userinfo_simple.split(' ',2).substring(userinfo_simple.split(' ',2).lastindexof(',')+1)]]

    ..........

     

    实例:邮箱验证
    1)首位必须是字母或数字
    2)末位必须为字母或数字
    3)仅包含一个@ :使用indexOf和lastIndexOf两个方法查到的索引值一致表示只有一个@符号
    4)@后面必须有'.'
    5)@与'.'之间必须有一个以上字符:‘.’的索引位置减去‘@’的索引位置必须大于1
    6)不能包含中文

    没有人能一路单纯到底,但是要记住,别忘了最初的自己!
  • 相关阅读:
    The connection to adb is down, and a severe error has occured.问题解决
    JavaScript的实现
    Dreamer2.1 发布 新增将Bean解析成xml和json
    由某公司的面试小题目说起,对责任链模式的总结
    TCP协议中的SO_LINGER选项
    杭电2602(01背包问题)——第一次做背包问题的理解
    [置顶] 浏览器模式和标准对于javascript的影响
    李克强总理坚决不“救市”底气何来?
    lua序列化table表到文件中
    获取java byte的无符号数值
  • 原文地址:https://www.cnblogs.com/LindaBlog/p/10037182.html
Copyright © 2020-2023  润新知