微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JavaScript正则表达式和级联效果

1、正则表达式(regular expression)

是一种字符串匹配的模式,用来检查一个字符串中是否包含指定模式的字符串。

2、正则表达式的创建

rush:js;"> var reg = /white/; var reg = new RegExp("white","g");

3、正则表达式的修饰符

g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 i 不区分大小写 m 多行匹配

4、正则表达式符号

方括号:方括号用于查找某个范围内的字符:

[abc] 查找方括号之间的任何字符。 [^abc] 查找任何不在方括号之间的字符。 [0-9] 查找任何从 0 至 9 的数字。 [a-z] 查找任何从小写 a 到小写 z 的字符。 [A-Z] 查找任何从大写 A 到大写 Z 的字符。 [A-z] 查找任何从大写 A 到小写 z 的字符。 [adgk] 查找给定集合内的任何字符。 [^adgk] 查找给定集合外的任何字符。 (red|blue|green) 查找任何指定的选项。

元字符:元字符(Metacharacter)是拥有特殊含义的字符:

/…/ 代表一个模式的开始和结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 \s 任何空白字符 \S 任何非空白字符 \d 匹配一个数字字符,等价于[0-9] \D 除了数字之外的任何字符,等价于[^0-9] \w 匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_] \W 任何非单字字符,等价于[^a-zA-z0-9_] . 除了换行符之外的任意字符

正则表达式重复字符(量词)

{n} 匹配前一项n次 {n,} 匹配前一项n次,或者多次 {n,m} 匹配前一项至少n次,但是不能超过m次 * 匹配前一项0次或多次,等价于{0,} + 匹配前一项1次或多次,等价于{1,} ? 匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1}

5、RegExp对象的属性

global RegExp对象是否具有标志g,它声明了给定的正则表达式是否执行全局匹配。

ignoreCase RegExp对象是否具有标志i,它声明了给定的正则表达式是否执行对大小写不敏感的匹配。

multiline RegExp对象是否具有标志m,它声明了给定的正则表达式是否执行多行匹配。

6、RegExp对象的方法

1、exec 检索字符中是正则表达式的区配,返回找到的值,并确定其位置

exec()

exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

例子 1:

rush:js;"> var patt1=new RegExp("e"); document.write(patt1.exec("The best things in life are free")); 由于该字符串中存在字母 "e",以上代码输出将是: e

2、test 检索字符串中指定的值,返回true或false

test()

test() 方法检索字符串中的指定值。返回值是 true 或 false。

例子:

rush:js;"> var patt1=new RegExp("e"); document.write(patt1.test("The best things in life are free")); 由于该字符串中存在字母 "e",以上代码输出将是: True

7、分析(邮箱验证) var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;

//正则表达式创建 ^ 字符串开始 $字符串结束 \w任意字符字母和数字,下划线 + 表示前一个字符出现{1,},一次或多次。 @ 普通字符串 \w 任意字符串 . 除了换行符之外的任意字符 . [a-zA-Z] {2,3} (.[a-zA-Z]{2,3})? nofollow" href="mailto:ddd@123.net">ddd@123.net

常用正则:

用户名正则:/^[a-zA-Z][a-zA-Z0-9]{3,15}$/ 密码正则:/^[a-zA-Z0-9]{4,10}$/ 生日正则:/^((19\d{2})|(200\d))-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/ Email正则:/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/ 邮政编码:/^\d{6}$/ 手机号码:/^1\d{10}$/

8、String对象的方法

match 找到一个或多个正则表达式的匹配 search 检索与正则表达式相匹配的值 replace 替换与正则表达式匹配的字符串 split 把字符串分割为字符串数组 9、select对象常用事件、方法属性.

1、事件 onchange 当改变选项时调用的事件

2、方法 add() 向下拉列表中添加一个选项

示例:

rush:js;"> var province=document.getElementById("selProvince").value; var city=document.getElementById("selCity"); city.options.length=0; switch(province){ case "河南省": city.add(new Option("郑州市","郑州市"),null); city.add(new Option("洛阳市","洛阳市"),null); break; …… }

3、属性:

options[] 返回包含下拉列表中的所有选项的一个数组 selectedindex 设置或返回下拉列表中被选项目的索引号 length 返回下拉列表中的选项的数目

示例:

rush:js;"> function get(){ var index=document.getElementById("fruit").selectedindex; var len=document.getElementById("fruit").length; var show=document.getElementById("show"); show.innerHTML="被选选项的索引号为:"+index+"
下拉列表选项数目为:"+len; }

4、Option对象常用属性:

text:设置或返回某个选项的纯文本值 value:设置或返回被送往服务器的值

10、数组常用的属性方法

属性 length 设置或返回数组中元素的数目

方法

join( ) 把数组的所有元素放入一个字符串,通过一个的分隔符进行分隔 sort( ) 对数组的元素进行排序

****读取二维数组中的元素值:

rush:js;"> var cityList = new Array(); cityList['河北省'] = ['邯郸市','石家庄市']; cityList['河南省'] = ['郑州市','洛阳市']; cityList['湖北省'] = ['武汉市','宜昌市']; for(var i in cityList){ document.getElementById("show").innerHTML+=i+"
"; } for(var j in cityList){ for(var k in cityList[j]){ document.getElementById("show").innerHTML+=cityList[j][k]+"”; } document.getElementById("show").innerHTML+="
“; }

总结

以上所述是小编给大家介绍的JavaScript_正则表达式和级联效果。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文地址:https://www.jb51.cc/js/36405.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐