js 正则之 控制字符 \cX

原文:js 正则之 控制字符 \cX

前些天在司徒正美的群里有人问了这么个问题:正则表达式里特殊字符 \cX 到底是什么?
确实,我之前也挺在意的,但是一直没去看到底是什么。
在MDN上只说是控制字符(详情请查阅 Using Special Characters),但是什么是控制字符呢?
在阮一峰的《JavaScript 标准参考教程(alpha)》中解释是:\cX 表示 Ctrl-X
可是 Ctrl-X 到底会产生什么东西?
我也不知道,虽然在 维基百科 里找到了解释,可是没看懂,只能自己写 demo 测试了。
看完这个测试,相信你会秒懂的。

var str = ''; // 用于存放 \x00-\xff 这256个字符
for(var i=0; i<=255; i++) {
    str += String.fromCharCode(i); // 填充字符
}

var c='', // 存放转码后的字符
    re,   // 存放动态生成的表达式
    m;    // 存放匹配结果

for(var i=65; i<=90; i++) { // ascii 65-90 分别对应字符 A-Z
    c = String.fromCharCode( i ); // 转为字符 A-Z
    re = RegExp('\\c'+c); // 生成正则表达式 \cA-\cZ
    m = str.match(re); // 进行匹配
    if(m) { // 如果匹配到了就输出
        console.log(i, re, escape(m[0]) ); // 输出 ascii码, 正则, 匹配到的字符
    }
}

你可以点击右上角 “运行” 查看结果。
相信聪明的你一眼就明白 \cX 到底是什么了。

好了,今天的分享到此结束,明天见。。

时间: 2024-11-30 22:20:07

js 正则之 控制字符 \cX的相关文章

JS 正则去除&amp;#039;//&amp;#039;和&amp;#039;/* */&amp;#039;注释

var reg = /("([^"]*(.)?)*")|('([^']*(.)?)*')|(/{2,}.*?(r|n))|(/*(n|.)*?*/)/g, // 正则表达式 str = $('event').html(); // 欲处理的文本 console.log(str); // 打印出:原文本 console.log(str.match(reg));// 打印出:匹配子串 str.replace(reg, function(word) { // 去除注释后的文本 ret

js正则匹配出所有图片及图片地址src的方法

  本文实例讲述了js正则匹配出所有图片及图片地址src的方法.分享给大家供大家参考.具体分析如下: 有很多时候我们需要用到文章里面的图片,而且主要是用到它的图片地址,这个时候我们需要通过正则匹配出图片标签,然后做到我们需要的数据 平时也没怎么用正则,一不学就忘,最近项目需要,然后又去goole了,好乱!一搜一大堆,也不是我想要的,最后把自己留一个已被后用: 实现:通过js正则匹配出所有图片及所有图片地址src. 思路:1.匹配出图片img标签(即匹配出所有图片),过滤其他不需要的字符 从匹配出

使用js正则控制input标签只允许输入的值

本文为大家介绍下使用js正则控制input标签输入的值:只允许输入数字.只允许输入汉字.只允许输入英文字母等等,具体祥看本文,希望对大家有所帮助   style="ime-mode:Disabled" 这句是比较实用的.意为关闭输入法.省得有些人开着全角输入数字,结果输入不进去来找你哭天抹泪的,还怪你设计的不好. 只允许输入数字 复制代码 代码如下: <input name="username" type="text" onkeyup=&q

js正则解析URL参数示例代码

URL参数使用js正则解析具体实现代码如下,有需求的朋友可以参考下,希望对大家有所帮组   复制代码 代码如下: var url = "http://127.0.0.1/e/action/ShowInfo.php?classid=9&id=2";//定义变量 function parse_url(_url){ //定义函数 var pattern = /(w+)=(w+)/ig;//定义正则表达式 var parames = {};//定义数组 url.replace(patt

js正则表达exec与match的区别说明

 本篇文章主要是对js正则表达exec与match的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 以前用js很少用到js的正则表达式,即使用到了,也是诸如邮件名称之类的判断,网上代码很多,很少有研究,拿来即用.   最近开发遇到一些需要使用正则表达式,顺便研究一下   正则表达式对象有两个定义方式::    1.第一种定义:   new RegExp(pattern, attributes);如var reg = new RegExp("abc","g&quo

JS正则表达式一条龙讲解(从原理和语法到JS正则)

正则啊,就像一座灯塔,当你在字符串的海洋不知所措的时候,总能给你一点思路:正则啊,就像一台验钞机,在你不知道用户提交的钞票真假的时候,总能帮你一眼识别:正则啊,就像一个手电筒,在你需要找什么玩意的时候,总能帮你get你要的东西... -- 节选自 Stinson 同学的语文排比句练习<正则> 欣赏了一段文学节选后,我们正式来梳理一遍JS中的正则,本文的首要目的是,防止我经常忘记正则的一些用法,故梳理和写下来加强熟练度和用作参考,次要目的是与君共勉,如有纰漏,请不吝赐教,良辰谢过. 本文既然取题

js正则验证-js 正则同时验证 手机号和座机 用逗号间隔

问题描述 js 正则同时验证 手机号和座机 用逗号间隔 比如:23955558888,13700596648,010-62607878 现正则:/^(1d{10})|(0d{2,3}-?d{7,8}(-d{3,4})?$)/ 这样可以匹配出座机不正确的,但是手机号却被当做座机处理了. 求正解! 补充: 我用笨办法处理的:接收到子串后,用split分割开,再逐一验证的 手机号不会以 除 1 以外的数字开头: 解决方案 先split分割,然后调用这个函数: function checkMobile(

js正则匹配出所有图片及图片地址src的方法_javascript技巧

本文实例讲述了js正则匹配出所有图片及图片地址src的方法.分享给大家供大家参考.具体分析如下: 有很多时候我们需要用到文章里面的图片,而且主要是用到它的图片地址,这个时候我们需要通过正则匹配出图片标签,然后做到我们需要的数据 平时也没怎么用正则,一不学就忘,最近项目需要,然后又去goole了,好乱!一搜一大堆,也不是我想要的,最后把自己留一个已被后用: 实现:通过js正则匹配出所有图片及所有图片地址src. 思路:1.匹配出图片img标签(即匹配出所有图片),过滤其他不需要的字符 从匹配出来的

js 正则之检测素数

原文:js 正则之检测素数 相信很多人应该看过这篇文章,我第一次看到的时候是11年的样子,那时候学vbs的时候看过这个问题.原文<检查素数的正则表达式>,在文章里已经解释了他是怎么判断的,我就不啰嗦了.我们来说说 js 如何实现它吧. 先来看看什么是素数,在<质数 - 百度百科>里有详细的说明,而且也说了一些求素数的方法,什么6N+1法等..这些什么算法都不是我们要谈的,我们只说正则. 在那篇文章里给出的正则是 /^1?$|^(11+?)\1+$/其实我觉得完全没必要检测 0 1