正则对象

正则对象创建的方式:

// 1.  /正则表达式/附加参数

// 2. 以构造函数的方式      new RegExp("表达式","附加参数")

// 附加参数:

// g:global  全局的      全局匹配

// i:ignorecase  忽略大小写

// 正则对象.test(字符串)  返回值是一个布尔值

//   字符串里能匹配到定义的正则表达式,返回true

//   字符串里不能匹配到定义的正则表达式,返回false

// 正则对象.exec(字符串)

// 用来检测字符串是否满足正则表达式

// 返回值:

// 如果能匹配到,返回的是找到的值(是一个数组)

// 如果不能匹配到,返回的是null

// 正则对象.lastIndex

// 返回值:上一次匹配结束后,第一个字符的位置  (返回的是一个下标)

alert(str.search("hello"));//和indexOf()

// 字符串对象方法match() 和正则对象.exec()

邮箱验证:

/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/

[email protected]

身份证验证:

// \d{18}

// /^\d{15}$|^\d{17}[0-9Xx]$/

// /(^\d{15}$)|(^\d{17}([0-9]|X)$)/

// 出生日期1800-2099  (18|19|20)?\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])

// 15位校验规则 6位地址编码+6位出生日期+3位顺序号

// 18位校验规则 6位地址编码+8位出生日期+3位顺序号+1位校验位

// /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i

/(13\d|14[57]|15[^4,\D]|17[678]|18\d)\d{8}|170[059]\d{7}/

newOpt.innerHTML = "河南省河北省";//document.body.appendChild(newOpt);var newOpt = document.createElement("select");var opt1 = new Option("河南省","hns");var opt2 = new Option("河北省","hbs",true,true);var opt3 = new Option("北京市","bjs",true,true);newOpt.add(opt2,null);newOpt.add(opt1,null);newOpt.add(opt3,opt2);document.body.appendChild(newOpt);//创建条目对象//new Option("文本","value值",默认被选中,默认被选中有效)  最后两个参数是一个布尔值  true代表默认被选中和有效//select元素对象.add(新条目,参照物条目) //把新条目插入到参照物条目之前,如果说没有参照物,直接写成null就行了,新条目被插入到select

//onchange 事件  当内容发生改变时,会触发onchange事件

var s = document.getElementById("sel");

var c = document.getElementById("city");

function box(){

c.options.length = 0;//条目个数清空为0

var sV = s.value;

if(sV == "北京市"){

var opt1 = new Option("海淀区","海淀区",true,true);

var opt2 = new Option("朝阳区","朝阳区");

c.add(opt1,null);

c.add(opt2,null);

}else if(sV == "河南省"){

c.add(new Option("郑州市","郑州市",true,true),null);

c.add(new Option("周口市","周口市"),null);

}else if(sV == "河北省"){

c.add(new Option("石家庄市","石家庄市",true,true),null);

c.add(new Option("保定市","保定市"),null);

}

}


--请选择省份----请选择城市--var myCity=new Array();

myCity['河南省'] = ['郑州市','周口市','新乡市','开封市','洛阳市'];

myCity['河北省'] = ['石家庄市','衡水市','保定市','邯郸市','张家口市'];

myCity['北京市'] = ['朝阳区','海淀区','西城区','东城区','房山区'];

var p = document.getElementById("prov");

var c = document.getElementById("city");

for(var i in myCity){

p.add(new Option(i,i),null);

}

p.onchange = function(){

c.options.length = 1;

// if(p.value == "--请选择省份--"){

// c.add(new Option("--请选择城市--"),null);

// }

for(var j in myCity){

if(p.value == j){

for(var k = 0;k <= myCity[j].length-1;k++){

c.add(new Option(myCity[j][k],myCity[j][k]),null);

}

}

}

}




常用的正则表达式

匹配邮箱:/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/

匹配中文字符:/[\u4e00-\u9fa5]/

匹配身份证:/^\d{15}$|^\d{17}[0-9Xx]$/

/(^\d{15}$)|(^\d{17}([0-9]|X)$)/

/^\d{15}$|^\d{18}$/

出生日期1800-2099  (18|19|20)?\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])

身份证正则表达式 /^\d{6}(18|19|20)?\d{2}(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i

15位校验规则 6位地址编码+6位出生日期+3位顺序号

18位校验规则 6位地址编码+8位出生日期+3位顺序号+1位校验位

匹配固定电话:1, /^\d{3,4}-\d{7,8}$/

2,\d{3}-\d{8}|\d{4}-\d{7}

匹配手机号:1, /^1\d{10}$/

2, /(13\d|14[57]|15[^4,\D]|17[678]|18\d)\d{8}|170[059]\d{7}/

匹配IPv4地址:/(\d+)\.(\d+)\.(\d+)\.(\d+)/

匹配网址URL:/[a-zA-Z]+:\/\/[^\s]*/

匹配腾讯QQ号:[1-9][0-9]{4,}    腾讯QQ号从10000开始

匹配时间:/([01]?\d|2[0-3]):[0-5]?\d:[0-5]?\d/  时:分:秒

匹配日期:/((((1[6-9]|[2-9]\d)\d{2})-(1[02]|0?[13578])-([12]\d|3[01]|0?[1-9]))|(((1[6-9]|[2-9]\d)\d{2})-(1[012]|0?[13456789])-([12]\d|30|0?[1-9]))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(1\d|2[0-8]|0?[1-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))/

例如:2016-10-09

匹配正整数:/[1-9]\d*/

匹配负整数:/-[1-9]\d*/

常用的

你可能感兴趣的:(正则对象)