js学习笔记第二篇

Js笔记整理

1、StringAPI

a)        大小写转换:str.toUpperCase();str.toLowerCase();

b)        获取指定位置字符:

  1. Str[i]--->倒数第二个str[str.length-2]
  2. str.charAt(i)
  3. str.charCodeAt(i);返回字符的Unicode吗?

c)  查找关键字的位置:

I.var i=str.indexOf(“kword”[,starti]);如果找不到返回-1,starti默认为0

Ii var i=str.lastIndexOf(“kword”[,starti]);查找starti位置左侧第一次出现的关键字  statri默认是length-1

d) 获取子字符串:

I  var subStr=str.substring(starti[,endi+1]);

Ii  var subStr=str.substring(starti[,endi+1]);不支持负数参数

Iii  var subStr=str.substring(starti,取几个);

 

 

例题:获取用户名和域名。

Function(){

Var i=email.indexOf(“@”);

Var userName=email.slice(0,i);

Var domain=email.slice(i+1);

Alert(“用户名”+username);

Alert(“域名”+domain);

}

<button onclick=”mail(prompt(‘输入邮箱’))”>输入邮箱<button>

 

2、String API 2

a)        分隔字符串:var arr=str.split(“分隔符”);

  1. Arr中以数组的形式保存每段字符串。
  2. 固定套路:将字符串切割为字符数组:var chars=str.split(“”);
    1. 例子:  var a="hello";

var chars=a.split("");

console.log(chars);

Iii  模式匹配:2种

1.var i=str.search(/keword/i);只能从开始位置,赵第一个匹配的关键字。

2.var arr=str.match(/kword/ig);

a)        arr中保存了所有关键字的内容

b)        arr.length表示匹配的关键字的个数

c)        *如果没找到,返回null*

d)       *都要先判断是否为null,再处理!*

3.Var newStr=str.replace(模式,“替换内容”);

例题:

var kword=/no/ig;

var reply=prompt("输入回复");

var arr=reply.match(kword);

reply=reply.replace(kword,"**");

alert(reply);

alert("共替换"+(arr?arr.length:0)+"处");

2、正则表达式:

a)        专门规定字符串格式中字符格式规则的表达式。

b)        何时使用:只要定义字符串格式规则,都是用正则表达式。

c)        预定义字符集:\d ==>[0-9]一位数字

  1. \W ==>[0-9a-zA-Z];1位数字,字母或下划线。
  2. \s ==》[空字符]代表一位空字符:空格,tab符。
  3. .  除了换行以外,其他所有字符。

 

d)量词:规定一个字符集出现的次数:2种

       明确数量:3种:{min,max}:最少min位,最多max位

                      {min,}:至少min位

                      {n}:必须n位

       身份证号:至少15位数字

                2位数字

                最后一位数字或x X

                后三位可有可无,但最多出现1次

          \d{15}(\d{2}[0-9xX])?

 

       不确定数量:3种:

           ?==>{0,1}: 可有可无,最多1次

           *==>{0,}:可有可无,多了数量不限

           +==>{1,}:至少一次,多了数量不限

 

       手机号:+86或0086 可有可无,最多1次

               空字符可有可无,多了数量不限

               1

               从3,4,5,7,8选一个

               最后必须是9位数字

       (\+86|0086)?\s*1[34578]\d{9}

posted @ 2015-11-26 20:41  xiuber  阅读(495)  评论(0编辑  收藏  举报