正则匹配双字节文字


String.prototype.lenB=function()
{
return this.replace(/[^\x00-\xff]/g,"##");
}

在正则中\x指的是 十六进制!

但如果写成 \x0-\xf

js会自动纠错的

因为 一个字节是八个二进制位!所以他会默认为两位\x00-\xf0(大体上具体补成什么样,无法考证!因为 f0在window系统下不识别!)
ascii发展的现在已有128扩展到现在256
详见维基百科
[url]http://zh.wikipedia.org/zh/ASCII[/url]

另外还有延伸的美国标准信息交换码
EASCII(Extended ASCII,延伸美国标准信息交换码)是将ASCII码由7位扩充为8位而成。EASCII的内码是由0到255共有256个字符组成。EASCII码比ASCII码扩充出来的符号包括表格符号、计算符号、希腊字母和特殊的拉丁符号。

ISO/IEC 8859是最常见的8位字符编码。除此之外,不同的操作系统都会有它的8位字符编码。

下列符号是ISO/IEC 8859-1所包含的符号,是在万维网和中使用的扩展ASCII字符集中最常见的的符号。
### 如何在 SQL 中使用正则表达式匹配文字符 在 SQL 数据库中,不同数据库管理系统 (DBMS) 对于正则表达式的支持有所不同。对于 MySQL PostgreSQL 这样的 DBMS,在查询语句中可以利用特定函数来实现对字符串模式的匹配操作。 #### 使用 `REGEXP` 或者 `RLIKE` MySQL 支持通过 `REGEXP` 或者同义词 `RLIKE` 来执行复杂的模式匹配: - 要匹配任何单个汉字,可采用如下方式构建正则表达式 `[一-龥]`[^1]。 ```sql SELECT * FROM table_name WHERE column_name REGEXP '[一-龥]'; ``` 此命令会返回表 `table_name` 中列 `column_name` 包含任意一个CJK统一汉字记录的结果集。 为了更精确地处理多字节字符集中的文字,比如全角符号或者其他亚洲语言的文字,应当考虑整个 Unicode CJK 统一表意文字范围 U+4E00 到 U+9FFF: ```sql SELECT * FROM table_name WHERE column_name REGEXP '\\u4e00-\\u9fff'; ``` 请注意,具体转义序列取决于所使用的编程环境以及客户端工具配置情况。 #### 处理编码问题 当涉及到非 ASCII 字符时,确保数据库连接设置正确指定了字符集是非常重要的。如果遇到乱码或其他编码相关的问题,则可能需要调整 PHP 程序里的编码转换逻辑,例如将 UTF-8 编码的数据转化为 Windows-1251 编码再存入数据库[^2]。 然而,通常推荐保持一致性的字符编码方案——即在整个应用程序栈内都使用 UTF-8 ——这有助于减少潜在麻烦并提高跨平台兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值