正则判断中文特殊符号

在中文输入中,不可避免地会出现各种特殊符号,如全角括号、中文句号、中文逗号等等。在进行输入限制或检验时,我们经常需要用到正则来判断和操作这些特殊符号。

一、正则判断特殊字符英文括号

在正则表达式中,小括号 ()、中括号 [] 和大括号 {} 都是特殊字符,需要进行转义。但是英文括号 () 并不需要进行转义,因为它们并不是特殊字符。在匹配英文括号时,只需要在正则表达式中直接写上即可。

const str = "(abc)";
const reg = /\(abc\)/;
console.log(reg.test(str)); // true

二、正则怎么匹配到各种特殊符号

匹配中文特殊符号需要使用 Unicode 码点。对于常见的中文特殊符号,可以通过 Unicode 码点进行匹配。例如全角括号的 Unicode 码点是 65288 和 65289,可以通过以下正则进行匹配:

const str = "(abc)";
const reg = /[\uFF08\uFF09]/; // 匹配全角括号
console.log(reg.test(str)); // true

三、正则特殊符号的表示

在正则表达式中,一些特殊的符号需要特殊的转义表示。下面列出一些常见的特殊符号以及它们的转义表示:

  • . :匹配除换行符 \n 以外的任意字符,需要使用 \. 进行转义。
  • \ :反斜杠本身也是特殊字符,需要使用 \\ 进行转义。
  • * :匹配前面的表达式零次或多次,需要使用 \* 进行转义。
  • + :匹配前面的表达式一次或多次,需要使用 \+ 进行转义。
  • ? :匹配前面的表达式零次或一次,需要使用 \? 进行转义。
  • | :或操作符,需要使用 \| 进行转义。
  • () :匹配括号内的表达式,并且记忆匹配结果,需要使用 \( 和 \) 进行转义。

四、正则限制特殊符号的输入

在需要限制特殊符号输入的场景下,可以使用以下正则,只允许输入中文、数字和常见的中文标点符号(不包含全角括号和引号):

const reg = /^[\u4e00-\u9fa5a-zA-Z0-9·。,,!!::;;“”‘’??、·]+$/;

五、正则去除特殊符号

在需要去除特殊符号的场景下,可以使用以下正则,把所有非中文、数字和常见中文标点符号的字符都替换为空字符串:

const reg = /[^\u4e00-\u9fa5a-zA-Z0-9·。,,!!::;;“”‘’??、·]/g;
const str = "abc 123(中文)";
console.log(str.replace(reg, "")); // abc123中文

六、正则匹配特殊符号

在需要匹配特殊符号的场景下,可以使用相关的 Unicode 码点或者直接在正则表达式中写上特殊字符:

const str = "中文(!)";
const reg1 = /[\uFF01]/; // 匹配中文感叹号
const reg2 = /[!]/; // 直接写上字符也行
console.log(reg1.test(str)); // true
console.log(reg2.test(str)); // true

七、正则不允许特殊符号

在需要保证不含特殊符号的场景下,可以使用以下正则,只允许输入中文、字母、数字和下划线:

const reg = /^[\u4e00-\u9fa5_a-zA-Z0-9]+$/;

八、js正则特殊符号

在使用 JavaScript 中的正则表达式时,需要注意一些特殊符号的转义问题。在 JavaScript 中反斜杠同样是转义符号,需要使用连续两个反斜杠来表示

const str = "abc(123)";
const reg = /\(123\)/;
console.log(reg.test(str)); // true

九、js正则匹配特殊符号

在使用 JavaScript 中的正则表达式时,可以直接在正则表达式中写上特殊字符,而不需要使用 Unicode 码点进行匹配:

const str = "中文!";
const reg = /!/; // 直接写上字符也行
console.log(reg.test(str)); // true

十、js正则不能输入特殊符号

在使用 JavaScript 中的正则表达式时,可以通过在输入框的 onkeydown 事件中阻止输入特殊符号来实现输入限制:

const input = document.querySelector("#input");
input.onkeydown = function(e) {
  const keyCode = e.keyCode || e.which || e.charCode;
  const reg = /^[0-9a-zA-Z\u4e00-\u9fa5\s]+$/; // 允许输入数字、字母、中文和空格
  // 判断是否是特殊符号
  if (!reg.test(String.fromCharCode(keyCode)) && keyCode !== 8 && keyCode !== 46) {
    e.preventDefault(); // 阻止默认事件
  }
};

以上是几个与正则判断中文特殊符号相关的小标题,希望能对大家在日常开发中的正则应用有所帮助。

原创文章,作者:ONUBC,如若转载,请注明出处:https://www.506064.com/n/370124.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
ONUBCONUBC
上一篇 2025-04-18 13:40
下一篇 2025-04-18 13:40

相关推荐

  • Python读取中文

    Python是一种高级编程语言,被广泛地应用于各种领域中。而处理中文数据也是其中重要的一部分。本文将介绍在Python中如何读取中文,为大家提供指导和帮助。 一、读取中文文件 在P…

    编程 2025-04-29
  • jQuery Datatable分页中文

    jQuery Datatable是一个非常流行的数据表插件,它可以帮助您快速地在页面上创建搜索、过滤、排序和分页的数据表格。不过,它的默认设置是英文的,今天我们就来探讨如何将jQu…

    编程 2025-04-29
  • Python计算中文字符个数

    本文将从多个方面对Python计算中文字符个数进行详细的阐述,包括字符串长度计算、正则表达式统计和模块使用方法等内容。 一、字符串长度计算 在Python中,计算字符串长度是非常容…

    编程 2025-04-29
  • Python3乱码转中文

    本文将详细介绍如何转换Python3中的乱码为中文字符,帮助Python3开发工程师更好的处理中文字符的问题。 一、Python3中文乱码的原因 在Python3中,中文字符使用的…

    编程 2025-04-29
  • 从16进制转义到中文字符

    16进制转义是为了在不同的字符集、不同的编码下,能够保证特殊字符被正确的识别和渲染。本文将从多个方面对16进制转义做详细的阐述,让读者对其有更深入的了解。 一、转义实现 在Web开…

    编程 2025-04-28
  • opendistroforelasticsearch-kibana的中文应用

    本文将介绍opendistroforelasticsearch-kibana在中文应用中的使用方法和注意事项。 一、安装及配置 1、安装opendistroforelasticse…

    编程 2025-04-28
  • Python IDLE如何设置中文运行环境

    Python IDLE是Python的集成开发环境,使用它可以方便地编写、调试和执行Python程序。但是,默认情况下Python IDLE的运行环境是英文环境,如果需要在Pyth…

    编程 2025-04-27
  • Python 中文转URL编码

    本文将从以下几个方面详细阐述Python中实现中文转URL编码的方法及注意事项。 一、URL编码概述 URL编码也称为百分号编码,是一种将URL中的非ASCII字符转换成“%”后加…

    编程 2025-04-27
  • 如何用Python输出两行中文字符

    在此篇文章中,我们将探讨如何使用Python输出两行中文字符。具体而言,我们将从以下几个方面进行阐述: 一、Python中文输出的基础知识 在开始探讨如何输出中文字符之前,我们需要…

    编程 2025-04-27
  • Python3.8中文文档解读

    Python 是一种解释型语言、面向对象、动态数据类型的高级语言。 本篇文章旨在详细阐述 Python3.8 中文文档,从各个方面深入剖析 Python 的优势,包括基础语法、文件…

    编程 2025-04-25

发表回复

登录后才能评论