JS String与正则表达式

  

  ES标准规定了内置对象,浏览器厂商实现了这些对象以及API,11个:

Number  String  Boolean  Array  RegExp  Date  Math  Error  Function

Object  Global全局对象(在浏览器中被替换为window,在正规的解析JS引擎中为Global)

  今天就将写String字符串对象和RegExp正则表达式对象。

  String对象

  用于处理已有的字符块。主要用于计算字符串的长度,为字符串添加样式,寻找关键词。

  创建String对象的语法:

    new String( );

    String( );

  参数s是要存储在String对象中或转换成原始字符串的值。即String(元素),元素可以是数字、数

组等等,String对象可以将其转化为字符串属性。

  String为多个字符组成的只读字符数组。数组可以随意修改原数组,但字符串只读字符数组,一旦

创建内容不可改变。两者都能用下标(length属性、for循环遍历、slice选区)访问每个元素、字符。

要不会改变原字符串的方法都可以运用于字符串。

  String对象的length属性声明了该字符串的字符数。str.length,与数组的区别为,数组的length是声

明数组的内元素的个数。

  字符串常用API:

  1、大小写的转换/英文:   需要一个返回值

  str.toUpperCase(  )大写   

  str.toLowerCase(  )小写

  2、获取指定位置的字符:   str[ i ]

  var char = str.charAt( i );

  3、获取指定字符unicode码:

  var unicode = str[ i ]charCodeAt(  );

  省略 i 则默认值0。

  将unicode码转换为文字:

  var char = String.fromCharCode(unicode);

  

  4、往数组中添加元素:

  str.push(  );  从尾部添加

  str.unshift(  );  从头部添加

  5、把一个字符串分割成字符串数组:

  var arr = str.split(分隔符);

  分隔符给空字符串,则将字符串中每个字符都分解成数组中的一个元素。

  正则表达式  RegExp对象

  正则表达式是对字符串执行模式匹配的强大工具。

  封装一条正则表达式,提供了使用正则表达式进行查找和验证的API。

  正则就是制定规则,s是空格,即空字符,w 一位字母数,d 一位数字, . 任意字符。

一位大写字母:[ A-Z ],小写[ a-z ],大小写:[ A-Za-z ],一位汉字:[ u4e00 - u9fa5]。

  量词:专门规定一个位字符集出现次数的规则,量词需放在字符的后面。

  1、有明确数量边界:

    字符集{min,max}规定字符集最少出现min次,最多max次。

    字符集{min,}规定最少min次,多之不限。

    字符集{n}规定只能n次。

  2、没有明确数量边界:字符集?(可有可无,最多一次) | 字符集 * (可有可无,最多无限)

| 字符集 + (至少一次,最多无限)。

  语法:用变量来创建正则:

  var reg = / 正则 / g ;

  动态创建正则:

  var reg = new RegExp( / 正则 / , "gi" );

  正则还可以用数组来表示:数组 . join( "|" );

   

查询关键词  可用循环来寻找字符串中多个关键词的位置

  1、查找一个固定的关键词出现的位置:

  var i = str.indexOF("关键词");

  2、专门找最后一个关键词的位置:

  var i = str.lastIndexOf("关键词");

  即从后向前搜索关键词。

  3、var arr = str.match( / 正则 / ig);

  .match查找关键词,返回关键词组成的数组,没有找到返回null。

  默认只找到第一个,找到所有必须加上g。

  4、找到所有关键词内容,又找到每个关键词的位置!

  语法:var arr = reg.exec( 要查找的完整字符串,或者 / 正则 / )

  返回值:本次查找找到的一个关键词及位置。

    arr[ 0 ] : 关键词的内容  如果正则中有分组,arr[ n ] : 自动保存在第n个分组匹配的子内容。

    arr[ 'index' ] : 当前关键词位置。

    ( arr = reg.exec(str) )! = null 则停止循环查找。

  5、检查字符串是否完全满足正则表达式的要求!

  只要是验证,reg中必须前加^后加串,要求从头到尾,都必须匹配。

    var bool = reg . test( 待检测字符串 ) ;

   

 
原文地址:https://www.cnblogs.com/yeming980912/p/10908111.html