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}

js学习笔记第二篇的更多相关文章

  1. Vue.js学习笔记 第二篇 样式绑定

    Class绑定的对象语法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  2. Android学习笔记(第二篇)View中的五大布局

    PS:人不要低估自己的实力,但是也不能高估自己的能力.凡事谦为本... 学习内容: 1.用户界面View中的五大布局... i.首先介绍一下view的概念   view是什么呢?我们已经知道一个Act ...

  3. Node 之 Express 学习笔记 第二篇 Express 4x 骨架详解

    周末,没事就来公司加班继续研究一下Express ,这也许也是单身狗的生活吧. 1.目录结构: bin, 存放启动项目的脚本文件 node_modules, 项目所有依赖的库,以及存放 package ...

  4. Asp.net core Identity + identity server + angular 学习笔记 (第二篇)

    先纠正一下第一篇的的错误. 在 Login.cshtml 和 Login.cshtml.cs 里, 本来应该是 Register 我却写成 Login . cshtml 修改部分 <form a ...

  5. Vue.js学习笔记 第一篇 数据绑定

    双花括号文本插值 先来个最简单的例子,看完之后立马会用Vue了,是不是很有成就感 <!DOCTYPE html> <html> <head> <meta ch ...

  6. R学习笔记 第二篇:矩阵、数组和列表

    向量是一维的,只有长度(行),没有其他维度.R中存在更高维度的对象,他们是矩阵,数据框,数组.这些对象的下标都是使用中括号[],第一个维度是row,第二个维度是column,依次类推,[row,col ...

  7. vue.js学习系列-第二篇

    一 VUE实例生命周期钩子     1 生命周期函数         定义 生命周期函数就是vue在某一时间点自动执行的函数 2 具体函数      1 new vue()      2 before ...

  8. Django学习笔记第二篇--关于请求获取

    #细节都在代码段里面讲解 零.绪论: HTTP协议是一种请求响应的协议,一次请求一次响应.所以这部分的讲解将分为三个部分:请求获取,分析处理.返回响应. 一.获取请求数据: 1.POST和GET类型 ...

  9. JS学习笔记-构造函数篇

    创建实例 funtion Fn (){     var num = 10;         this.x = 100;     this.getX = function(){         cons ...

随机推荐

  1. 在虚拟机中安装windows

    前言: 本来在windows当中安装windows是一件很简单的事,但是在使用光盘进行安装的时候,发现无法进行安装. 思路: 将光盘进行提取成iso文件,一个光盘提取一个iso文件,从而存在两个iso ...

  2. ORA-15041: diskgroup space exhausted

    今天在做一个备份的时候,出现磁盘耗尽的错误,具体如下: RMAN-00571: =========================================================== ...

  3. Android Studio的安装使用记录[持续更新]

    参考资料: Windows环境下Android Studio v1.0安装教程 http://ask.android-studio.org/?/article/9 1. 下载与安装 在http://w ...

  4. 在Heroku上部署MEAN

    说明:个人博客地址为edwardesire.com,欢迎前来品尝. Heroku是国外普遍使用大受好评的PaaS,支持Nodejs,基础服务(Nodejs+MongoDB)基本都是免费的.搭建MEAN ...

  5. redis的string类型

    string : string类型是二进制安全的, 可以包含任何数据,比如jpg图片或者序列化的对象 . 方法 : set : 设置key对应的值为string类型的value set  name   ...

  6. Apache Spark Tachyon的简介

    Tachyon是一个分布式内存文件系统,可以理解为内存中的HDFS. 为了提供更高的性能,将数据存储剥离Java Heap. 用户可以基于Tachyon实现RDD或者文件的跨应用共享,并提供高容错机制 ...

  7. 客户端接口AGENDA

    日程 周二上午:完善客户端功能.接口定义. 周二下午:助教审查客户端代码.审查完成之后将发布接口定义. 提示 总之谢谢大家的支持.我们会尽量降低交互难度,让各位亲把精力专注于算法设计上面. 可以使用任 ...

  8. labview 变体数据类型

    变体数据类型是LabVIEW中多种数据类型的容器.将其它数据转换为变体时,变体将存储数据和数据的原始类型,保证日后可将变体数据反向转换. 例如,如将字符串数据转换为变体,变体将存储字符串的文本,以及说 ...

  9. UVaLive 7270 Osu! Master (统计)

    题意:给定 n 个元素,有的有一个值,如果是 S 那么是单独一个,其他的是一个,求从 1 开始的递增的数量是多少. 析:那么S 是单独的,要统计上,既然是从 1 开始递增的,那么再统计 1 的数量即可 ...

  10. 关于名称重整(name mangling)、多态性的一些简单介绍

    在看GCC源码的时候看到mangles这个单词,于是google了一下. 在面向对象编程语言出现之前,如果你想要打印不同类型的数据,需要写多个方法,例如PrintInteger(int i),Prin ...