Skip to content

类数组与正则

来源:js/基础/3方法.html

速查导航


类数组对象

类数组有 length 属性,所以可以通过 for 来循环,但要使用数组方法的话需要转化或借用:

  • Array.prototype.xxx.call(nodelist, 1, 2)
  • Array.from(nodelist)
js

常见类数组:

  • arguments — 函数参数对象
  • NodeList — 只有它能使用 forEach
  • HTMLCollection — 不可用 forEach

正则基础

量词匹配(横向模糊匹配)

js

字符集匹配(纵向模糊匹配)

js

范围表示法:

  • [123456abcdehijkl] 可简写为 [1-6a-eh-l]
  • 要匹配 a - e 这三个字符不能写 [a-e] 容易误解,可以换顺序 [-ae] 或转义 [a\-e]

求反:

  • [^abc] 表示不要 a、b、c
  • ^ 单独在开头表示"由这个开始"

注意: [0-31] 会被解释为匹配字符 0123而不是数字范围

分支匹配

js

常用字符类

简写等价含义记忆
\d[0-9]数字digit(数字)
\D[^0-9]非数字\d 的求反
\w[0-9a-zA-Z_]单词字符word 的简写
\W[^0-9a-zA-Z_]非单词字符\w 的求反
\s[ \t\v\n\r\f]空白符space character
\S[^ \t\v\n\r\f]非空白符\s 的求反
.[^\n\r\u2028\u2029]通配符像省略号 ...,每个点表示任何类似的东西

常用量词

量词含义
{m,}至少出现 m 次
{m}出现 m 次,等价于 {m,m}
?出现或者不出现(0 或 1 次)
+至少出现 1 次
*不出现或者出现不限次数