欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript正則表達(dá)式處理中文和中文標(biāo)點(diǎn)符號(hào)的過程

 更新時(shí)間:2024年02月19日 09:29:22   作者:Saga?Two  
在寫項(xiàng)目時(shí)遇到需要匹配字符串中所有的漢字并且包括簡單的中文標(biāo)點(diǎn)符號(hào),下面這篇文章主要給大家介紹了關(guān)于javascript正則表達(dá)式處理中文和中文標(biāo)點(diǎn)符號(hào)的相關(guān)資料,需要的朋友可以參考下

1 背景

在日常的開發(fā)中,我們通常要對(duì)字符串做一些處理,通常的方法是使用正則匹配進(jìn)行篩選過濾,本文主要介紹使用javascript和正則表達(dá)式處理中文字符串的過程。

2 使用

2.1 基礎(chǔ)知識(shí)

在處理之前我們先記住以下是中文和中文標(biāo)點(diǎn)符號(hào)使用的正則表達(dá)式;

  • 1.中文字符的正則表達(dá)式
// 中文正則
\u4e00-\u9fa5
  • 2.中文標(biāo)點(diǎn)符號(hào)正則:
// 中文標(biāo)點(diǎn)的正則
\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3010|\u3011|\u007e

// 可以匹配以下中文標(biāo)點(diǎn)符號(hào)(順序是一一對(duì)應(yīng)的,第一個(gè)是句號(hào))
// 。 ? ! , 、 ; : “ ” ‘ ' ( ) 《 》 【 】 ~
  • 3.正則符號(hào)

.:匹配任意單個(gè)字符。

[]:匹配方括號(hào)內(nèi)的任意一個(gè)字符。

\d:匹配任意數(shù)字。

\D:匹配任意非數(shù)字字符。

\w:匹配任意字母、數(shù)字或下劃線。

\W:匹配任意非字母、數(shù)字或下劃線。

\s:匹配任意空白字符(空格、制表符、換行符等)。

\S:匹配任意非空白字符。

^:匹配字符串的開頭。

$:匹配字符串的結(jié)尾。

.*:匹配零個(gè)或多個(gè)任意字符。

+:匹配一個(gè)或多個(gè)前面的字符。

*:匹配零個(gè)或多個(gè)前面的字符。

?:匹配零個(gè)或一個(gè)前面的字符。

{m}:匹配前面的字符恰好m次。

{n,}:匹配前面的字符至少出現(xiàn)n次,至多出現(xiàn)n次。

{n,m}:匹配前面的字符至少出現(xiàn)n次,至多出現(xiàn)m次。

管道符(|):表示或的關(guān)系,用于匹配多個(gè)條件中的任意一個(gè)。例如,/apple|banana|orange/ 表示匹配 apple、banana 或者 orange。

脫字符(^):如果方括號(hào)內(nèi)的第一個(gè)字符是[^],則表示除了字符類之中的字符,其他字符都可以匹配。比如,[^xyz]表示除了x、y、z之外都可以匹配。

連字符(-):對(duì)于連續(xù)序列的字符,連字符(-)用來提供簡寫形式,表示字符的連續(xù)范圍。比如,[abc]可以寫成[a-c],[0123456789]可以寫成[0-9],同理[A-Z]表示26個(gè)大寫字母。

2.2 應(yīng)用

比如我們要處理以下場景:

// 場景一:去掉“a我明wai天t上班”中的所有中文
let str = "a我明wai天t上班";
let result = str.replace(/[\u4e00-\u9fa5]/g, '');

console.log(result)  //'await'

// 場景二:將“黃鶴樓送孟浩然之廣陵【作者】李白 【朝代】唐~故人西辭黃鶴樓,煙花三月下?lián)P州。孤帆遠(yuǎn)影碧空盡,唯見長江天際流?!备鶕?jù)標(biāo)點(diǎn)符號(hào)拆分放入數(shù)組;
let str = "黃鶴樓送孟浩然之廣陵【作者】李白 【朝代】唐~故人西辭黃鶴樓,煙花三月下?lián)P州。孤帆遠(yuǎn)影碧空盡,唯見長江天際流。";
let result = str.split(/[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3010|\u3011|\u007e]/);

console.log(result) //  ['黃鶴樓送孟浩然之廣陵', '作者', '李白 ', '朝代', '唐', '故人西辭黃鶴樓', '煙花三月下?lián)P州', '孤帆遠(yuǎn)影碧空盡', '唯見長江天際流', '']

通常來講,一些簡單的中文字符串可以使用正則表達(dá)式處理,以上介紹一些簡單的入門用法,若象處理復(fù)雜的邏輯,不建議使用復(fù)雜的正則,建議使用函數(shù)處理,這樣可以增加代碼的可讀性。

3 常用正則表達(dá)式

國內(nèi)電話號(hào)碼(0511-4405222、021-87888822):\d{3}-\d{8}|\d{4}-\d{7}

手機(jī)號(hào)碼:^[1]+[3-9]+\d{9}$"

國內(nèi)身份證號(hào):(^\d{18}$)|(^\d{15}$)

郵箱:^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@([\w-]+\.)+[\w-]{2,4}$

JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

總結(jié) 

到此這篇關(guān)于javascript正則表達(dá)式處理中文和中文標(biāo)點(diǎn)符號(hào)的文章就介紹到這了,更多相關(guān)正則處理中文和中文標(biāo)點(diǎn)符號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論