字符串属性和函数的使用
1、属性:
[[length]]:查询字符串长度
2、函数
A·[[charAt(index)]]:查询指定索引的字符串
B·[[indexOf('searchValue')]]:查询指定字符的索引值
C·[[lastIndexOf('searchValue',start)]]:从后往前查找指定字符的索引,从后往前找指定的字符,找到的第一个字符的索引是
从前往后算的:如
ABDHJDF 左边例子中第一个D的索引是2,第二个D的索引是5,则从后往前找的话返回值就是5,从前往后找返回值就是2;找不到
返回值是-1。
D·[[charCodeAt(index)]]:返回指定位置字符的Unicode编码,中文编码段“19968~40622”
E·[[sclice(start,end)]]:
1、提取字符串,参数可为负数;参数为-1时截取字符串的最后一位
2、slice会将此参数与字符串长度相加的结果作为参数从字符串里抽取下标为star到下标为end的字符串(不包括end)
3、当star>end时,slice会返回空字符串
F·[[substr(start,length)]]:从下标为star的字符串开始,截取长度为length的一个子字符串
G·[[substring(form,to)]]:
1、从字符串里截取下标为form到下标为to的字符串(不包括to对应的字符)
2、当form>to时,substring会把较小的参数作为第一参数
3、当其中某个参数值为负数时,substring会直接将负数转成0
注:当只输入一个参数时EFG三个函数的效果一致。
H·[[concat()]]:连接,可查找是否包含指定的用户名和密码的组合(up内):(用户名:密码)
eg.[[up.indexOf(nm.concat(':').concat(pw))]],
判断该函数大于-1即可得出包含组合,若是不大于-1则表示不包含该组合。即用户名和密码没有一一对应。
I·[[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)不能包含中文
本文来自博客园,作者:小虾米吖~,转载请注明原文链接:https://www.cnblogs.com/LindaBlog/p/10037182.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」