前端随心记---------Javascript系列(第十五节.函数的变量提升)

 正则

正则就是用来规范表单数据、
正则表达式 : 普通字符 或 特殊字符
定义 :
字面量方式: var reg=/ /;
var reg=new regExp(" ");
方法
reg.test(str); // 检测str是否符合reg的规则要求,如果符合就返回true,否则返回false.


正则的特殊字符

单字符:
^ : 必须以右边的字符开头
var reg = /^ab/;//是否以ab开头
alert(reg.test(str));//false
alert(reg.test("abiiiii"));//true
$:必须以左边的字符结束
var reg = /me$/;//必须以me结尾
alert(reg.test(str));//true
alert(reg.test("fewlfje"));//false
^$组合使用
//var reg = /^abc$/;//必是abc字符串
//alert(reg.test("abc123abc"));//false
//alert(reg.test("abc"));//true
//var reg = /^a345c$/;//必是a345c字符串
+:一个或多个
var reg = /^a3+c$/;
//alert(reg.test("a3c"));//true;
//alert(reg.test("a333c"));//true;
//alert(reg.test("ac"));//false
//alert(reg.test("a33333333c"));//true
//alert(reg.test("a333533333c"));//false
//alert(reg.test("333533333"));//false
* : 0个或多个
var reg = /^a3* c$/;
//alert(reg.test("a3c"));//true
// alert(reg.test("a33333c"));//true
//alert(reg.test("ac"));//true
?:0个或1个
var reg = /^a3?c$/;
alert(reg.test("a3c"));//true
alert(reg.test("a33333c"));//false
alert(reg.test("ac"));//true

正则中的量词
+ * ? { }

特殊字符
$ + * ? . \ .|
. 左边的一个字符可以是任意字符
var reg = /^a.b$/;
alert(reg.test("a&b"));//true
alert(reg.test("a/b"));//true
alert(reg.test("a4b"));//true
alert(reg.test("axb"));//true

var reg = /^a.+b$/;//1个或多个任意字符
alert(reg.test("a&&……%#¥@#b"));//true
转义字符,将后面这一个在正则中有特殊含意的字符转换成普通 字符
var reg = /^a\.b$/;
alert(reg.test("a* b"));//false

组合字符
\d : 0-9的数字
var reg = /^a\db$/;
alert(reg.test("a5b"));//true
alert(reg.test("atb"));//false

\D:非数字
var reg = /^a\D+b$/;
alert(reg.test("a456564b"));//false
alert(reg.test("afewjf**&b"));//true

\w:数字字母下划线0-9a-zaA-Z_
var reg = /^a\w+b$/;
alert(reg.test("a5d_b"));//true
alert(reg.test("a5&d_b"));//false


\W:非 数字字母下划线
var reg = /^a\W+b$/;
alert(reg.test("a*&^%b"));//true
alert(reg.test("a* 6&^%b"));//false

\s:空格字符
var reg = /^a\s+b$/;
alert(reg.test("a b"));//true
alert(reg.test("a 5 b"));//false

\S非空字符
var reg = /^a\S+b$/;
alert(reg.test("aew^%b"));//true
alert(reg.test("aew ^%b"));//false

括号
[ ] { } ( )

[] 表达区间
var reg = /^a[ab47]+b$/;//ab47四个字符中的任意一个就可以
alert(reg.test("aab47baaa4477b"));//true
alert(reg.test("aab47baaa64477b"));//false

var reg = /^a[^tu5-8]+b$/;//不包含tu和5-8的字符
alert(reg.test("a9b"));//true
alert(reg.test("a9ub"));//false
var reg = /^a[tu^5-8]+b$/;//^不写在[]的开头,表示普通 字符^
//alert(reg.test("a^8b"));//true

{m}:表示m个字符
var reg = /^ar{5}b$/;
alert(reg.test("arrrrb"));//false
alert(reg.test("arrrrrb"));//true
alert(reg.test("arrrrrrb"));//false

{m,}:表示至少m个字符
var reg = /^ar{5,}b$/;
alert(reg.test("arrrrb"));//false
alert(reg.test("arrrrrb"));//true
alert(reg.test("arrrrrrrrrrrrrrrrrrrb"));//true

{m,n}:表示至少m个字符,最多n个
var reg = /^ar{5,8}b$/;
alert(reg.test("arrrrb"));//false
alert(reg.test("arrrrrb"));//true
alert(reg.test("arrrrrrrrrrrrrrrrrrrb"));//false
alert(reg.test("arrrrrrrrb"));//true

()表示一个组合(一个整体) 一般与 | 使用

中文字符
var reg = /^a[\u4e00-\u9fa5]+b$/;
alert(reg.test("a了我发来访问b"));//true
alert(reg.test("a了我发0来访问b"));//false
alert(reg.test("a轠b"));//ture

posted @ 2019-10-17 17:17  胡炖鱼  阅读(103)  评论(0编辑  收藏  举报