Web前端复习——JS(正则表达式+内置对象)

正则表达式:专门规定字符中字符*格式规则*的表达式


何时使用:只要定义字符串格式规则,都用正则表达式


最简单正则:一个关键词的原文,就是最简单的正则


1、备选字符集:规定某*一位*字符可选的备选文字列表
语法:[备选字符列表]
强调:(1)无论备选字符集中由有多少字符,都必须且只能选一个,
              (2)一个[]只代表一位字符
  排除字符:^
[^47]——表示除了4、7以外的所有字符都行


2、-:如果备选字符连续,可用“-”表示“到”
[A-Za-z] [0-9]



3、预定义字符集:专门表示常用的连续字符集
\d ==> [0-9] ——1位数字
\w ==> [a-zA-Z_]——1位字母或"_"下划线
\s ==> [空字符]——代表一位空字符:空格、Tab符
除此之外,还有\D \W \S——表示除了\d \w \s的字符都行(用得少)


4、量词:规定一个字符集出现的次数(2种)
(1)明确数量的量词(3种)
{min,max}:最少min位,最多max位
{min,}:至少min位
{n}:必须n位

案例——身份证号:至少15位数字        \d{15}
                  2位数字             \d{2}
         最后一位数字或X x   [0-9xX]
表示方法——\d{15}(\d{2}[0-9xX])?

(2)不明确数量的量词(3种)
? ==> {0,1}:可有可无,最多一次(“?”默认只修饰前边的字符)
* ==> {0,}:可有可无,多了数量不限
+ ==> {1,}:至少一次,多了数量不限


案例——手机号:+86可有可无,最多1次 (\+86)?(加“\”表示转义)
      " "空格可有可无,多了数量不限    \s*(“\s”表示一个空格)
1 1
从3,4,5,7,8选一位             [34578]
最多必须是9位数字               \d{9}


表示方法——(\+86)?\s*1[34578]\d{9}

注意:"|"表示左右的“或”,可以不只是1或0两个选择


5、RegExp对象
封装了正则表达式,提供了利用正则表达式执行验证和查找的API
何时使用?
只要利用正则表达式执行验证和查找功能时
创建:2种
(1)var reg=/正则表达式/ig
     何时使用:正则表达式在运行时不会改变
(2)var reg=new RegExp("正则表达式","ig")
     何时使用:在运行时正则表达式
             var str1="\d{6}";
    var str2="\d{15}(\d\d[0-9xX])?"
    var reg=new RegExp(str2,"")


如何使用:2种操作
(1)格式验证——var bool=reg.test();
验证:要求从头到尾必须完整匹配
问题:test方法默认只要部分匹配即可
解决:都要在正则表达式前加^,后边加$结束
^表示开头位置,$表示结尾位置
^/$联用表示从头到尾必须完整匹配

二、内置对象:5种

(1)String中的正则API

a、替换:str.replace(reg,"替换值")

固定套路:利用replace格式化数据

“替换值”中,也可使用$n和RegExp.$n用法完全相同

b、切割:var arr=str.split(str)



(2)Math:专门执行数学计算的对象

封装了数学计算中常用的常量

a、取整(3种)

上取整、        下取整、        四舍五入取整

Math.ceil(n)    Math.floor(n)   Math.round(n)

   "天花板"       "地板"

round VS toFixed

a1.toFixed——Number对象     按任意小数位    字符串

a2.round——Math对象       只能取整        整数

var n=23.456;
n.toFixed(0);   //23
n.toFixed(2);   //23.46

b、乘方/开平方

乘方:Math.pow(n,m):计算n的m次方

开平方:Math.sqrt(n):计算n的平方根


c、获取最大值/最小值

Math.max(a,b,c)

Math.min(a,b,c)

固定套路:变相实现了获取数组中的最大值

Math.max.apply(Math,arr)——>Math.max(arr[0],...)


d、随机数:Math.random();  0<=n<1

任意min到max之间取一个随机整数

     60   100

随机取整数:parseInt(Math.random()*(max-min+1)+min)

除了用parseInt()方法,还可以使用floor()



(3)Date:封装了一个时间点,提供了对时间和日期的操作API

Date中封装了从1970-01-01 00:00:00 至今的ms数


创建Date对象:4种

a、var now=new Date();   //创建一个新日期对象同时,获得当前时间ms数

获得当前时间

b、var time=new Date("xxxx/xx/xx [xx:xx:xx]");

c、var time=new Date(年,月-1,日[,时,分,秒]);

date.getTime():获得日期对象中的毫秒数


Date API:

(1)每个分量都有一对get/set方法

getDay()获得日期,没有setDay()

(2)命名:年月日星期,不加s

   时分秒毫秒,加s

(3)返回值:月中的日取值范围从1开始到31结束

其余的都是从0开始到减1结束

星期:日 一 二 .... 六

       0  1  2 ....  6

月份:1月 2月 3月 .... 12月

       0   1   2        11

日期:1日 2日 3日 .... 31日

       1   2   3        31

Date计算——2种

a.两日期对象可直接详见,结果毫秒差

b.对任意分量做加减:先get出来,计算,再set回去

直接修改原日期对象

date.setXXX(date.getXXX()+-n)


(4)Array对象

(5)Event对象



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值