基于OpenLayers的WebGIS程序二次开发实例教程
35230 人在学
Javascript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在html(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
正则的定义
字符出现的规律的一种规则!
正则的作用
验证和查找
创建正则
1、varreg=/输入正则规则/;注意://内部是正则的天下,不支持js语法!
2、varreg=nerRegExp();//了解即可,不需要强记!
正则的语法
1、关键词的原文就是最简单的正则
2、字符集:一个字符可能出现的备选字符的集合
eg::政[治法协]匹配:政治政法政协
常见字符集:如果备选字符的Unicode编码是连续的,可以省略中间的字符,用“-”链接
eg:[0123456789]<=>0-9[abcdefg]<=>[a-g]
预定字符集:预先已经规定好的字符集
eg:\\w:一个字母数字下划线\\d一个数字[0-9]
\\s空格,制表符
.任意字符
^除了xxx
量词:修饰一个字符集出现的次数!
1、有明确的数量要求或者范围
字符集{m,n}m:表示字符集出现的最小次数!n:表示字符集出现的最大次数!
字符集{m}:至少出现m次,至多不限!
字符集{m}:只能必须是m次
2、没有明确的数量要求
字符集?:可有可无,至多一次。等价于{0,1}
字符集+:至多一次,多了不限。等价于{1,}
字符集*:可有可无,次数不限。等价于{0,}
注意:如果正则规则中有特殊含义的字符,可以使用转义字符"\\"
选择和分组
1、选择:在多个规则之间任选其一都可以匹配!
操作:规则1|规则2:只要有一个规则适用即可!
2、分组:将多个规则分为一组,由一个量词修饰!
操作:()eg:(+8610086)?eg:(微/w(ei)?)(信/x(in)?)
匹配指定位置
1、开头:^^\\s以空格开头
2、结尾:$\\s$以空格结尾
eg:^\\d{6}:以六位数字开头
\\d{6}$:以六位数字结尾
^\\d{6}$:字符串只能是六位数字组成
3、单词边界:\\b
eg:no\\b匹配以no结尾的单词
\\bno匹配以no开头的单词
\\bno\\b匹配完整的单词no
案例:
1、身份证340881199812120827
18位身份证号码的验证规则:^(\\d{17}[0-9xX])$
或15位数字+2位数字+一位数字或者X或者x:^\\d{15}(\\d{2}[0-9Xx])?$
2、手机号:6085255解析:0086|+86空格|60852559位数
9位数号码的验证规则:^(0086|86)?\\s*|[6085255]\\d[{9}$
字符串的API
1、查找敏感词
0.查找关键词的下标----固定的敏感词
vari=str.indexOf("关键词",starti);
从starti位置开始向后找最近的一个关键词的下标,找到就返回其下标,找不到返回-1。
1.判断是否包含敏感词----模糊查找
str.search(/正则/);
//找第一个关键词的下标,找到就返回其下标,找不到返回-1。
2.查找所有敏感词内容----返回数组内容
str.match(/正则/g);
问题:1>默认正则只要匹配到一个关键词就下标了!
解决:在正则的第二个/后gglobal
2>正则默认区分大小写
解决:在正则的第二个/后加iignore
3.既查找敏感词内容又查找敏感词位置----正则对象
reg.exec();----正则对象中的
2、替换:将符合要求的关键词替换为指定内容
1.简单替换
str.replace(/正则/g,"需要替换的新值");
注意:此处替换的新值是固定的!
2.高级替换
functionkws(key){
key.length==2?return"**":
key.length==3?return"***":
return"*"
}
str.replace(/正则/g,kws);
注意:replace方法每找到一个关键词,会调用一次回调函数,将关键词传入,由回调函数替代的值!
3、切割:split将字符串按指定的关键词切割为多个子字符串,放在一个数组返回!
1.简单切割:vararr=str.split("切割符");
2.复杂切割:vararr=str.aplit(/正则/);
常用套路:vararr=str.aplit("");
相反操作:varstr=arr.join("");
正则对象
1、RegExp对象:封装了一条正则规则,提供了操作正则验证、或查找API的一类对象!
2、创建正则对象:
1.直接量:varreg=/正则/ig;
问题:此方法正则一旦建立,无法通过Js直接修改
2.用new
varreg=newRegExp("正则","ig");
优点:正则是字符串形式,可以使用js语法!
RegExp的API
1、验证字符串格式
varbool=reg.test(str);
验证字符串是否符合正则规则,返回bool
可以直接当作判断条件
验证必需前加^后加$
2、既查找关键词内容又查找关键词位置
reg.exec(str);
查找str中下一个关键词的位置和内容,返回一个数组
0:关键词的内容index:关键词的位置
注意:默认第一次查找从0号位置开始;以后每执行一次,都从上一次结束的位置之后***开始;找不到就返回null。
javascript组成一个完整的JavaScript实现是由以下3个不同部分组成的:JavaScript核心(ECMAScript)、文档对象模型(DocumentObjectModel,简称DOM)、浏览器对象模型(BrowserObjectModel,简称BOM)。