是一个描述字符模式的对象,可以用来检查一个串是否含有某种子串
、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。
正则表达式创建
[]方括号
元字符
量词
- //量词
- var str = "aaba200";
- // var str = "12334444abb";
- // var str = "100, 1000 or 10000?";
- // var reg = /aaa/;
- // var reg = /a{3}/;// {x} 匹配前一项x次
- // var reg = /\d{3}/;// {x} 匹配前一项x次
- // var reg = /\d{3,}/;// {x,} 匹配前一项至少x次 贪婪模式
- // var reg = /\d{3,}?/;// {x,} 匹配前一项至少x次 懒惰模式
- // var reg = /\d{3,4}/g;// {x,y} 匹配前一项至少x次,至多y次
- // var reg = /\d+/g; // + 匹配前一项至少1次 {1,}
- // var reg = /\d{1,}/;
- // var reg = /\d*/g;//匹配前一项0次或多次
- // var reg = /\d{0,}/g;
- // var reg = /\d?/g; //匹配前一项0次或1次
- // var reg = /\d{0,1}/g
- // var reg = /^\d/;
- // var reg = /^aa/;//以某些字符开头
- // var reg = /ba$/;
- // var reg = /\d$/;
- // var reg = /^aa\d$/;
- // var reg = /^\w{1,}\d$/;
- var reg = /^.+\d$/;
- if (reg.exec(str) === null) {
- alert("匹配失败");
- } else {
- console.log(reg.exec(str));
- }
-
- // console.log(str.match(reg))
// test
regObj.exec(参数)检测字符串是否匹配正则表达式
应用
年龄验证
- <script>
- // 应用
- //年龄验证
- var oIpt = document.getElementById("age");
- oIpt.onblur = function () {
- var val = this.value;//获取输入的年龄的值
- // var reg = /^([1-9]|1[01])?\d$|^120$/;
- // var reg = /^(([1-9]|1[01])?\d|120)$/;
-
- // var reg = /^1\d{10}$/
-
- // var reg = /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/
- // 130 - 139 145 147 150 - 153 155 - 159 180 - 183 185 - 189 19
-
- // var reg = /^\d{18}$/;
- // var reg = /^\d{17}(X|x|\d)$/;
- // var reg = /^[1-9]\d{5} (18|19|([23]\d)) \d{2} ((0[1-9])|(10|11|12)) (([0-2][1-9])|10|20|30|31) \d{3}[0-9Xx]$/
- // 前六位 地区编码 18 19 20-39 01-09 10 11 12 01 - 09 11-19 21-29
- // 1800 - 3999 月份 0[1-9]|[12]\d|3[01]
-
-
- var reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/
-
- // [_.]
-
- if (reg.exec(val) === null) {
- alert("请输入正确的年龄,范围再0-120之间");
- }
- }
-
-
- // 0-120
-
- // 一位 0-9 \d
- // 二位 10-99 [1-9]\d
- // 三位 100-119 1[01]\d
- // 120
-
-
- // ([1-9]|1[01]){0,1}\d
- // ([1-9]|1[01])?\d
- // \d
- // [1-9]\d
- // 1[01]\d
-
- // /^ ([1 - 9] | 1[01]) ?\d$ |^ 120$ /
-
- script> -->
应用
表单验证
完整代码
//量词
var str = "aaba200";
// var str = "12334444abb";
// var str = "100, 1000 or 10000?";
// var reg = /aaa/;
// var reg = /a{3}/;// {x} 匹配前一项x次
// var reg = /\d{3}/;// {x} 匹配前一项x次
// var reg = /\d{3,}/;// {x,} 匹配前一项至少x次 贪婪模式
// var reg = /\d{3,}?/;// {x,} 匹配前一项至少x次 懒惰模式
// var reg = /\d{3,4}/g;// {x,y} 匹配前一项至少x次,至多y次
// var reg = /\d+/g; // + 匹配前一项至少1次 {1,}
// var reg = /\d{1,}/;
// var reg = /\d*/g;//匹配前一项0次或多次
// var reg = /\d{0,}/g;
// var reg = /\d?/g; //匹配前一项0次或1次
// var reg = /\d{0,1}/g
// var reg = /^\d/;
// var reg = /^aa/;//以某些字符开头
// var reg = /ba$/;
// var reg = /\d$/;
// var reg = /^aa\d$/;
// var reg = /^\w{1,}\d$/;
var reg = /^.+\d$/;
if (reg.exec(str) === null) {
alert("匹配失败");
} else {
console.log(reg.exec(str));
}
// console.log(str.match(reg))