js学习笔记第二篇
Js笔记整理
1、StringAPI
a) 大小写转换:str.toUpperCase();str.toLowerCase();
b) 获取指定位置字符:
- Str[i]--->倒数第二个str[str.length-2]
- str.charAt(i)
- 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(“分隔符”);
- Arr中以数组的形式保存每段字符串。
- 固定套路:将字符串切割为字符数组:var chars=str.split(“”);
- 例子: 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]一位数字
- \W ==>[0-9a-zA-Z];1位数字,字母或下划线。
- \s ==》[空字符]代表一位空字符:空格,tab符。
- . 除了换行以外,其他所有字符。
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学习笔记第二篇的更多相关文章
- Vue.js学习笔记 第二篇 样式绑定
Class绑定的对象语法 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- Android学习笔记(第二篇)View中的五大布局
PS:人不要低估自己的实力,但是也不能高估自己的能力.凡事谦为本... 学习内容: 1.用户界面View中的五大布局... i.首先介绍一下view的概念 view是什么呢?我们已经知道一个Act ...
- Node 之 Express 学习笔记 第二篇 Express 4x 骨架详解
周末,没事就来公司加班继续研究一下Express ,这也许也是单身狗的生活吧. 1.目录结构: bin, 存放启动项目的脚本文件 node_modules, 项目所有依赖的库,以及存放 package ...
- Asp.net core Identity + identity server + angular 学习笔记 (第二篇)
先纠正一下第一篇的的错误. 在 Login.cshtml 和 Login.cshtml.cs 里, 本来应该是 Register 我却写成 Login . cshtml 修改部分 <form a ...
- Vue.js学习笔记 第一篇 数据绑定
双花括号文本插值 先来个最简单的例子,看完之后立马会用Vue了,是不是很有成就感 <!DOCTYPE html> <html> <head> <meta ch ...
- R学习笔记 第二篇:矩阵、数组和列表
向量是一维的,只有长度(行),没有其他维度.R中存在更高维度的对象,他们是矩阵,数据框,数组.这些对象的下标都是使用中括号[],第一个维度是row,第二个维度是column,依次类推,[row,col ...
- vue.js学习系列-第二篇
一 VUE实例生命周期钩子 1 生命周期函数 定义 生命周期函数就是vue在某一时间点自动执行的函数 2 具体函数 1 new vue() 2 before ...
- Django学习笔记第二篇--关于请求获取
#细节都在代码段里面讲解 零.绪论: HTTP协议是一种请求响应的协议,一次请求一次响应.所以这部分的讲解将分为三个部分:请求获取,分析处理.返回响应. 一.获取请求数据: 1.POST和GET类型 ...
- JS学习笔记-构造函数篇
创建实例 funtion Fn (){ var num = 10; this.x = 100; this.getX = function(){ cons ...
随机推荐
- 一条scan查询把HBase集群干趴下
最近在给公司搭建CDH集群,在测试集群性能时,写了一条简单的scan查询语句竟然把hbase集群的所有regionserver干趴下了.这让我云里雾里的飘飘然. 背景介绍 CDH集群,2台主节点.3台 ...
- Java邮件服务学习之二:SMTP和POP3
一.SMTP SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则.SMTP协议属于TCP/IP协议簇,它帮助每台计算 ...
- delphi提示错误行号之Assert(断言)
一.用法:Assert(表达式)1.如果为假 Assert会产生一个EAssertionFailed异常,显示为 Assertion Failed (C:/src/unit1.pas, [size=+ ...
- Linux命令(1)-scp
Linux scp命令用于Linux之间复制文件和目录,包括从本地复制到远程.从远程复制到本地是两种使用方式. 命令基本格式 scp [可选参数] file_source file_target 从本 ...
- C:移位运算符
1在向右移位时,空出的位是由0填充,还是由符号位的副本填充? 如果被移位的对象是无符号数,那么空出的位将被0填充.如果被位移的对象是有符号数,那么C语言实现既可以用0填充空出的位,也可以用符号位的副本 ...
- UVaLive 6858 Frame (水题)
题意:给定一个矩形框架,给定一个小矩形,问你能不能正好拼起来. 析:很简单么,就三种情况,如果是1*1的矩形,或者是1*2的一定可以,然后就是上面和下面正好能是小矩形的整数倍,左右是少一,两个就是整数 ...
- 命令行刷机教程( 以Linux系统为例 )
//第一步adb device // 如果不能cd AndroidSDK/platform-toolsadb kill-server adb start-server //第二步adb reboot ...
- Connection 连接字符串释义
本文将详细介绍如何使用Connection对象连接数据库.对于不同的.NET数据提供者,ADO.NET采用不同的Connection对象连接数据库.这些Connection对象为我们屏蔽了具体的实现细 ...
- Centos 卸载OpenJdk
[root@localhost ~]# rpm -qa|grep jdkjava-1.6.0-openjdk-devel-1.6.0.0-1.50.1.11.5.el6_3.i686java-1.7. ...
- php-fpm 启动和关闭
php-fpm -c /data/tools/repository/php-5.3.10/etc/php.ini -y /data/tools/repository/php-5.3.10/etc/ph ...