美文网首页
RegExp对象,RegExpAPI,MathAPI(取整,乘方

RegExp对象,RegExpAPI,MathAPI(取整,乘方

作者: 白雪公主960 | 来源:发表于2018-07-01 22:20 被阅读1次

2016-08-31-day09 am


1. RegExp:

  • 是什么:封装一条正则表达式,并提供用正则执行验证和查找的方法的对象
  • 何时使用:
    检索: 即检索每个关键词内容,又检索位置
    验证: 检查字符串是否符合正则表达式的要求
  • 如何使用:
    创建正则对象的2种方法:
    1). 只用正则直接量: var reg=/正则/ig;
    何时使用: 如果正则表达式是固定的,不需要动态生成。
    特殊符号: 直接量中的 /都要转为 \/
    /<li><\/li>/
    2). 用new:
    var reg=new RegExp("正则","ig");
    何时使用: 如果正则表达式不是固定的,需要动态生成
    特殊符号:
    \ " '都要转义为: \\ \" \'
    以下是一个例子
var str="you can you up";
var reg=/you/ig;
console.log(str.match(reg));

var names=["明明","静静","明月"];
var reg=new RegExp(
  names.join("|"),"ig"
);
var str="明明喜欢我,却不告诉我"+
        "别理我,我想静静"+
        "静静是谁?"+
        "你先告诉我明明是谁?"+
        "床前明月光"+
        "日照香炉生紫烟";
console.log(str.match(reg));
  • RegExp API:
检索: 即检索每个关键词的内容,又检索每个关键词的位置

var arr=reg.exec(str)
找出str中当前位置后和reg匹配的下一个关键词。
原理:
reg.lastIndex: 标识下次开始查找的位置
默认0

exec: 每执行一次,做3件事:
1. 从reg.lastIndex位置开始找下一个关键词
2. 返回:
[0:"关键词",1:"$1",2:"$2",...]
.index-> 返回本次找到的关键词位置
强调: 如果找不到,返回null
3. 自动修改reg.lastIndex为index+关键词的字符个数(跳过当前关键词)

var str = 
    "明明喜欢我,却不告诉我" +
    "别理我,我想静静" +
    "静静是谁?" +
    "你先告诉我明明是谁?";
var reg = /明明|静静/g;
//.lastIndex
var arr = null;
while ((arr = reg.exec(str)) != null) {
    //arr:[0: 关键词, index: i]
      console.log(
      "在位置"+arr.index+"发现敏感词"+arr[0],
      "下次从"+reg.lastIndex+"开始找"
      );         
}

正则:
贪婪模式: 默认正则表达式都会匹配尽量长的符合规则的字符串。
懒惰模式: 仅匹配最短的符合规则的字符串
贪婪改懒惰? .*? .+?

验证: 检查一个字符串是否符合正则表达式的要求。

var bool=reg.test(str);
检查str是否符合reg的要求
如果符合,返回true,否则返回false
问题:默认test方法只要部分匹配就返回true。
解决:验证都要前加^,后加$,要求从头到尾必须完整匹配。

var pwd=prompt("输入密码:(6位数字)");
//^(?![A-Za-z]+$)(?![a-z0-9]+$)[A-Za-z0-9]{6,8}$
if(new RegExp("^\\d{6}$").test(pwd)){
  document.write("验证通过");
}else{
  alert("密码格式不正确");
}

2. Math: 专门封装数学计算使用的常量,并提供执行数学计算的API的对象

强调: 不能 new!直接使用 Math.xxx

Math API:

1.取整:
  1. 上取整: 只要超过,就取下一个整数
    Math.ceil(n);
  2. 下取整: 只要超过,就去掉小数部分
    Math.floor(n);
  3. 四舍五入取整: Math.round(n)
    vs n.toFixed(d)
    Math.round只能取整,返回的是number
    而n.toFixed(d),可指定小数位数,但返回的是string
2.乘方和开平方:

Math.pow(底数,幂) : 计算乘方
比如: 10的2次方: Math.pow(10,2);
Math.sqrt(n):求n的平方根

相关文章

  • RegExp对象,RegExpAPI,MathAPI(取整,乘方

    2016-08-31-day09 am 1. RegExp: 是什么:封装一条正则表达式,并提供用正则执行验证和查...

  • python学习lesson02 常见的数学运算和函数

    +加号 -减号 * 乘号 / 除号 ** 乘方 % 求余 // 取整 round 四舍五入 round(8.9) ...

  • javascript(持续更新)

    7.23 Math(算数对象);ceil(x) 向上取整;floor 向下取整max ...

  • JavaScript 邮箱验证 - 正则验证

    一、RegExp 1.1 创建 RegExp 对象 1.2 RegExp 对象的方法 test:检索字符串中的指定...

  • python基础

    1.三引号 多行注释: 跨多行字符串: 2.运算符 //表示整除,%求余数,**乘方,floor向上取整,ceil...

  • 取整函数

    讲解对象:取整函数作者:融水公子 rsgz

  • RegExp对象

    regular expression 正则表达式 regular 正规的,定期的,合格的 expresssion ...

  • RegExp对象

    描述字符模式的对象。正则表达式直接量定义为包含在一对斜杠(/)之间的字符。例:/s$/ –匹配所有以s结尾的字符串...

  • RegExp对象

    正则定义 也可以使用构造函数RegExp()定义 RegExp实例属性 RegExp实例方法 exec()方法 R...

  • RegExp 对象

    RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。 直接量语法/pattern/attribu...

网友评论

      本文标题:RegExp对象,RegExpAPI,MathAPI(取整,乘方

      本文链接:https://www.haomeiwen.com/subject/tevhuftx.html