JavaScript第三周笔记

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])&/

预判

目的&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值