正则对象创建的方式:
// 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}$/
身份证验证:
// \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*/
常用的