start i 代表开始位置
end i 代表结束位置
字符串API
英文转大小写
toUpprecase 转大写
toLowerCase 转小写
获取字符串的某一个字符
str.codeAt();
获取字符串字符的ASCII码
str.charCodeAt();
通过ASCII码值转回原文
str.fromcharCodeAt();
补充:CSS ::section{background:transparent;} 页面双击文字会出现蓝色背景的选择效果,该代码把双击选择效果设置成了透明色
检索字符串:检查索引/下标
使用:判断有没有该关键字,不重复
var i = str.indexOf("关键字",strat i);
特殊:
1.start i可以省略,如果省略默认从0位置开始向右查找
2.返回:如果找到了,返回关键字的第一个字符的下标
★★★没找到返回-1,重点:我们不关系下标为多少,只关心下标是不是-1,为-1就是说明没有,如果不为-1,说明存在
3.数组也可以使用:其实以前的数组没有这个方法,某浏览器更新后,数组才可以使用(老IE浏览器(ie8以下的)用不到)
补充:笔试题:
var str="no zuo no dai no can no bb";
var index=-1;
while((index=str.indexOf("no",index+1))!=-1){
console.log("下标为"+index);
}
拼接字符串
var newStr=str.concat(str1,str2.....);还不如 + 连接字符串
截取字符串:三种方式
arr.slice(strat i,end i+1); 开始位置包含,结束位置不包含(含头不含尾)
arr.subString(strat i,end i+1); 几乎和slice用法相同,但是不支持负数
arr.substr(strat i, n); 从开始位置,截取N个数,开始位置和结束的位置都包含 (含头含尾)
这里推荐使用 arr.substr(strat i, n);
替换字符串
str.replace("固定关键字","新内容");
此方法搭配正则就很好
切割/分隔字符串
var arr=str.split("自定义切割符");
特殊:
1.切割符可以自定义,切割后返回的是一个数组,数组中不在包含切割符
2.如果传入的切割符是一个“” 空,每一个字符都会被切
扩展:JS创建页面元素并且渲染上DOM树:3步
1、创建空标签: var 新元素=document.createElement("标签名");
2、为此标签设置必要的属性和事件
新元素.属性名="属性值";
新元素.on事件名=function(){操作}3、把新元素上DOM树
父元素.appendChild(新元素);
正则表达式
正则表达式:定义字符串中出现规则的表达式
使用:做切割/替换/“验证”的时候使用
最简单的正则就是关键字原文,写法和以前的字符串不同 例:“no” --> /no/gi
i:忽略大小写
g:替换所有;替换默认替换第一个匹配的字符
var a = "a b c a d e f a g a";
a.replace(/no/gi,"p");
被选字符集:规定一位字符可能出现的情况
强调:一个中括号只能管理一个值
问题:正则只要满足后,就不在关后续操作,后续用户可以乱输入
解决:做验证,希望用户根据我们的想法来操作;必须写成:/^备选字符集$/ /^表示从开头 /$表示到结尾 表示用户从头到尾都必须完全匹配
特殊:
如果被选字符集unicode号是连续的,就用-省略中间部分
比如: 一个数字[0-9]
一个字母[A-Za-z]
一个数字,字母,下划线[0-9A-Za-z]
一个汉字[\u4e00-\u9fa5]
预定义字符集:
一个数字:\d
一个英文,数字,下划线:\w
一个空白字符: \s
一位除了换行外的所有字符: . (点) 不推荐此字符集
问题:预定义字符集,是固定的,不够灵活
开发时,优先使用预定义字符集,在预定义字符集满足不了时,就使用备选字符集补充
强调:备选字符集和预定义字符集都只能管一位字符
量词规定一个字符集出现的次数
使用:
有明确数量:
字符集{n,m}; 前边相邻的字符集最少出现n次,最多出现m次
字符集{n}; 前边相邻的字符集最少出现n次,不限制最多出现次数
字符集{n}: 前边相邻字符集必须出现n次
没有明确数量:
字符集? 该字符集可有可无,最多一次
字符集* 该字符集可有可无,不限制最多出现次数
字符集+ 至少写一个该字符集,不限制最多出现次数
指定匹配位置
^:以...开头
$:以...结尾
特殊:如果同时使用了 前面^和后面$({/^ $/ } 从头到尾完全匹配
选择和分组
选择:可以在多个条件中,选择一个
规则1|规则2(字符集1|字符集2)
分组:选择和分组一般情况下是搭配使用------添加子规则
(规则1|规则2)
新老身份证的正则
/^(\d{15}|\(d{17}[0-9Xx])&/
预判
目的&#