JavaScript基础知识(正则表达式、字符串)

时间:2022-09-14 05:40:17

23、正则表达式

作用:定义一个特定的验证字符串内容规则的表达式

注:正则表达式并不是JavaScript独有的;JavaScript支持正则表达式

var a = { };  // 定义一个空对象               var b = [ ];// 定义一个空数组

var d = / /;  // 定义一个空正则表达式          var c = ( );  【错误】

i    定义正则表达式

定义一个空的正则表达式时 ---编辑器会报错;   空的正则表达式的值 ---undefined

  • 字面量方式

var 正则表达式 = /表达式规则/修饰符     

  • 构造函数方式

var 正则表达式 = new RegExp(表达式规则,修饰符)

i 正则表达式对象的验证方法

先定义用于验证的字符串;再定义正则表达式的规则;后验证字符串是否符合正则表达式的规则

eg: /表达式规则/.test (所有内容的字符串)

结果:完全相同返回 true                              [注:必要是匹配和位置无关]

²  直接字符

[ ] 表示字符集合。只要其中任意一个匹配,则返回true    数字: [0-9]  字母: [a-zA-Z]

^ 表示反向集合   \d : [0-9] -> 匹配单个数字

? 表示匹配前面一个字符0次或者1次,和{0,1}有相同的效果。

+ 表示匹配前面一个字符1次或者多次,和{1,}有相同的效果。

* 表示匹配前一个字符0次或者是多次。

²         重复规则 –

{n,m} - 匹配前面的字符最少出现n次,最多出现m次;即n <= 次数 <= m

{n} - 匹配前面的字符出现 n 次

²     位置规则

^:表示字符的开始位置;     $:表示字符的结束位置

eg:   / [ ]{n,m} /            ----【连续】出现【n到m次】

/ [数字和字母]{n,m} /   ----只要字母和数字有其一即可

/ ^[数字和字母]{n,m} /   ----以数字或字母【开头】,且连续出现n到m次

/ {n,m}$ /            ---以数字或字母【结尾】,且连续出现n到m次

/ ^[ ]{n,m}$ /         ----以数字或字母【结尾】【总共】个数是n到m

8       直接量字符

\t : 水平制表符  TAB键                \n \r : 换行符或回车符  ENTER键

8      修饰符

i - 表示不区分大小写;       g - 全局搜索;          m - 多行搜索;

eg:  var 名称 = /正则表达式/ i     var 名称 = new RegExp('[a-z]{3,5}', 'i' );

u 字符串使用正则表达式的方法

²  替换方法

replace(/被替换的内容/,被替换的内容 )     被替换的内容---使用正则表达式

²  匹配内容—>数组

match(/需匹配的内容/)

返回值:是一个数组;       需匹配的内容---使用正则表达式

(注:若参数为字符串时,返回的数组只有一个元素)

²  查找内容—>位置

search(需查找的内容)

返回值:匹配内容的索引值        (注:如果没有任何内容匹配的话,返回 -1)

24、字符串

  • 遍历字符串

方法:(类似数组) 使用for 或 for… in      结果:得到字符串中的每个字符

  • 查找字符

²  charAt(索引值)

注: 超出索引值范围时,则返回空字符

²  charCodeAt(索引值)

注:返回值:指定索引值对应的字符的Unicode编码值      [a-97;  z-122;  0-48;  9-59;]

  • 检索字符串

indexOf(检索的字符串)

 

  • 截取字符串

²  slice(start, end)

start:开始截取的位置(被包含);      end:结束截取的位置【不被包含】

正数:从左向右排列(从 0 开始)      负数:从右向左排列(从 -1开始)

²        substr(位置,个数)  

若不设置个数,则默认为截取到最后

²         substring(start, end)

start:开始截取的位置(被包含)        end:结束截取的位置【不被包含】

  • Ø 分隔字符串

split( )

作用:将一个使用分隔符分隔的字符串转换为一个数组

参数:分隔符;   返回值:数组

总:原有基础上 不做处理,则空格也有分隔符;且所有元素组成一个数组

原有什么,再给什么,从而分隔符就是什么;且所有元素组成一个数组