Skip to content

选择匹配 ​

本节目标:理解“选择匹配”的核心思路,并能把它用于实际开发或面试表达。

说明:原 OneNote 中有图片引用,但图片未包含在导出目录中;本页保留了可用的文字与代码内容。 选择匹配类似于 JavaScript 的逻辑与运算,使用竖线==|==描述,表示在两个子模式的匹配结果中任选一个。例如:

  1. 匹配任意数字或字母
**var** r = /\w+|\d+/;
  1. 可以定义多重选择模式。设计方法:在多个子模式之间加入选择操作符。
**var** r = /(abc)|(efg)|(123)|(456)/;

为了避免歧义,应该为选择操作的多个子模式加上小括号。 示例 设计对提交的表单字符串进行敏感词过滤。先设计一个敏感词列表,然后使用竖线把它们连接在一起,定义选择匹配模式,最后使用字符串的 replace() 方法把所有敏感字符替换为可以显示的编码格式。代码如下:

**var** s = '<meta charset="utf-8">';  //待过滤的表单提交信息
**var** r = /\'|\"|\<|\>/gi;  //过滤敏感字符的正则表达式
**function** f() {  //替换函数
////把敏感字符替换为对应的网页显示的编码格式
**return** "&#" + arguments[0].charCodeAt(0) + ";";
}
**var** a =s.replace(r,f);  //执行过滤替换
document.write(a);  //在网页中显示正常的字符信息
console.log(a);
显示结果如下:

本站总访问 — 次