• 1、序列化 2、转义 3、eval 4、正则表达式 5、时间处理


    1、序列化

    • JSON.stringify(obj)   序列化
    • JSON.parse(str)        反序列化

    2、转义

    • decodeURI( )                   URl中未转义的字符
    • decodeURIComponent( )   URI组件中的未转义字符
    • encodeURI( )                   URI中的转义字符
    • encodeURIComponent( )   转义URI组件中的字符
    • escape( )                         对字符串转义
    • unescape( )                     给转义字符串解码
    • URIError                         由URl的编码和解码方法抛出

    3、eval

    JavaScript中的eval是Python中eval和exec的合集,既可以编译代码也可以获取返回值。

    • eval() 
    • EvalError   执行字符串中的JavaScript代码

     

    1、定义正则表达式

      • /.../  用于定义正则表达式
      • /.../g 表示全局匹配
      • /.../i 表示不区分大小写
      • /.../m 表示多行匹配
        JS正则匹配时本身就是支持多行,此处多行匹配只是影响正则表达式^和$,m模式也会使用^$来匹配换行的内容)
    1 var pattern = /^Javaw*/gm;
    2 var text = "JavaScript is more fun than 
    JavaEE or JavaBeans!";
    3 result = pattern.exec(text)
    4 result = pattern.exec(text)
    5 result = pattern.exec(text)

    注:定义正则表达式也可以  reg= new RegExp()

    2、匹配

    JavaScript中支持正则表达式,其主要提供了两个功能:

    • test(string)     检查字符串中是否和正则匹配
    1 n = 'uui99sdf'
    2 reg = /d+/
    3 reg.test(n)  ---> true
    4  
    5 # 只要正则在字符串中存在就匹配,如果想要开头和结尾匹配的话,就需要在正则前后加 ^和$

    exec(string)    获取正则表达式匹配的内容,如果未匹配,值为null,否则,获取匹配成功的数组。

     1 获取正则表达式匹配的内容,如果未匹配,值为null,否则,获取匹配成功的数组。
     2  
     3 非全局模式
     4     获取匹配结果数组,注意:第一个元素是第一个匹配的结果,后面元素是正则子匹配(正则内容分组匹配)
     5     var pattern = /Javaw*/;
     6     var text = "JavaScript is more fun than Java or JavaBeans!";
     7     result = pattern.exec(text)
     8  
     9     var pattern = /(Java)w*/;
    10     var text = "JavaScript is more fun than Java or JavaBeans!";
    11     result = pattern.exec(text)
    12  
    13 全局模式
    14     需要反复调用exec方法,来一个一个获取结果,直到匹配获取结果为null表示获取完毕
    15     var pattern = /Javaw*/g;
    16     var text = "JavaScript is more fun than Java or JavaBeans!";
    17     result = pattern.exec(text)
    18  
    19     var pattern = /(Java)w*/g;
    20     var text = "JavaScript is more fun than Java or JavaBeans!";
    21     result = pattern.exec(text)

    3、字符串中相关方法

    1 obj.search(regexp)                   获取索引位置,搜索整个字符串,返回匹配成功的第一个位置(g模式无效)
    2 obj.match(regexp)                    获取匹配内容,搜索整个字符串,获取找到第一个匹配内容,如果正则是g模式找到全部
    3 obj.replace(regexp, replacement)     替换匹配替换,正则中有g则替换所有,否则只替换第一个匹配项,
    4                                         $数字:匹配的第n个组内容;
    5                                           $&:当前匹配的内容;
    6                                           $`:位于匹配子串左侧的文本;
    7                                           $':位于匹配子串右侧的文本
    8                                           $$:直接量$符号

    5、时间处理

    JavaScript中提供了时间相关的操作,时间操作中分为两种时间:

    • 时间统一时间
    • 本地时间(东8区)

    更多操作参见:http://www.shouce.ren/api/javascript/main.html

  • 相关阅读:
    [Effective C++ --009]确定对象被使用前已先被初始化
    [Effective C++ --008]别让异常逃离析构函数
    [Effective C++ --007]为多态基类声明virtual析构函数
    [Effective C++ --006]若不能使用编译器自动生成的函数,就该明确拒绝
    [Effective C++ --005]了解C++默默编写并调用哪些函数
    [000]socket通信--server和client实现的简单例子
    [014]模板-模板实参推导
    [013]模板-非类型模板参数
    [012]泛型--lambda表达式捕获
    U3d keyCode值对应的按键
  • 原文地址:https://www.cnblogs.com/shiluoliming/p/6514525.html
Copyright © 2020-2023  润新知