JS实现正则匹配中文标点符号的方法
墨初 Web前端 1836阅读
想检查一个字符串中是否含有中文的标点符号,可以使用正则表达式来进行匹配。先将平常使用的中文标点符号转为Unicode码并写入正则中进行逐一比对。下面是使用JS脚本进行匹配的方法。
JS检测是否为中文标点符号的方法
(1)、定义一个检测中文标点符号的JS函数
/* * @param t 输入检测的标点符号,单个的 * @return bool 如果是中文标点符号,返回TRUE,如果不是则返回 FALSE * 73so.com */ function isstrs(t) { var reg = /[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/; if(reg.test(t)){ return true; } return false; }
(2)、函数调用
console.log(isstrs(',')); //false console.log(isstrs(',')); //true console.log(isstrs('.')); //false console.log(isstrs('。')); //true console.log(isstrs('【')); //true console.log(isstrs('[')); //false
PS:
下面是中文标点的 unicode 码列表,可以通过中文标点符号 unicode 码来修正上面函数中的正则表达式。
名称 | Unicode | 符号 |
---|---|---|
句号 | \u3002 | 。 |
分号 | \uff1b | ; |
逗号 | \uff0c | , |
冒号 | \uff1a | : |
左单引号 | \u2018 | ‘ |
右单引号 | \u2019 | ’ |
左双引号 | \u201c | “ |
右双引号 | \u201d | ” |
左括号 | \uff08 | ( |
右括号 | \uff09 | ) |
顿号 | \u3001 | 、 |
问号 | \uff1f | ? |
左书名号 | \u300a | 《 |
右书名号 | \u300b | 》 |
感叹号 | \uff01 | ! |
破折号 | \u2014 | —— |
省略号 | \u2026 | …… |
连接号 | \u2013 | – |
间隔号 | \uff0e | . |
匹配中文汉字 | \u4e00-\u9fa5 |