您的位置:首页 > Web前端

WEB前端 | JS基础——(12)正则表达式

2016-11-24 21:23 741 查看
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>正则表达式</title>
</head>
<body>
</body>
<script type="text/javascript">
// 正则表达式就是一种规则

// 13702775678 112537427@qq.com
// 手机号:11位,1开头
// 有@,@前面有2~7个字符 @后面2~4个 .com结尾
// 把我们一个判定的规则转成计算机能识别的表达式,就是正则表达式
// 用途:判断用户输入的是否是一个手机号、邮箱、身份证号码、有效的昵称

// 正则表达式用法:
// 定义一个正则
// 正则的写法是两个/
// 第一个/后面跟规则 \d 代表数字
// 第二个/后面跟属性,g代表匹配多次
var re = /\d/g;  // \d代表数字;
var testStr = '0123abcde';
testStr.search(re);
// 返回根据规则找到的字符的位置
console.log(testStr.search(re));
// 返回根据规则找到的字符的内容
console.log(testStr.match(re));
console.log(testStr.replace(re,'Y'));

// 元字符
var re2 = /\w/g; // \w代表的是字符(包含英文字母和下划线、数字)
var re22 = /./g;	 // .代表单个字符(不包括换行)
var testStr2 = 'hello, how are you, i am fine, and you _ 012';
console.log(testStr2.match(re2));
console.log(testStr2.match(re22));

// 方括号
var re3 = /[5-7]/g;
var re33 = /[^abc]/g;
// [abc]代表包含abc之间的任意一个字符
// [^abc]除去abc以外的字符
var testStr3 = 'ha5hah6a, ab7FFFF';
console.log(testStr3.match(re3));
console.log(testStr3.match(re33));

// 量词
var re4 = /5{2}/g;
// n+代表至少包含一个n(5+代表至少包含一个5)
// [4-5]+ 代表一个或多个4、5的组合
// ^n在字符串第一个位置的n
// n$在字符串最后一个位置的n
var testStr4 = '12345675589555';
console.log(testStr4.match(re4));

// 单词边界
// 单词边界, \b代表一个单词的起始或者结束位置
// \bbox代表以box开头的单词, box\b代表一box结尾的单词, \bbox\b代表box这个单词
var re5 = /\bbox\b/g;
var testStr5 = "midbox box";
console.log(testStr5.match(re5));
// test方法
console.log(re5.test(testStr5));

// 特殊字符
// 转义字符 \+ 代表查找有没有加号
// \* 代表查找'*'号
// \加上一个特殊字符,就是查找特殊字符本身
var re6 = /\+/g;
var testStr6 = '41518+85718888';
console.log(testStr6.match(re6));

// 手机号
var testStr7 = '13451566789';
var re7 = /^1[34578]\d{9}$/;
console.log(re7.test(testStr7));

// [\u4e00-\u9fa5]  判断汉字

// 邮箱正则表达练习
var mailRe = //;

// http://blog.csdn.net/lcore/article/details/8883092 </script>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息