JS实现正则匹配中文标点符号的方法
墨初 Web前端 3012阅读
想检查一个字符串中是否含有中文的标点符号,可以使用正则表达式来进行匹配。先将平常使用的中文标点符号转为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('[')); //falsePS:
下面是中文标点的 unicode 码列表,可以通过中文标点符号 unicode 码来修正上面函数中的正则表达式。
| 名称 | Unicode | 符号 |
|---|---|---|
| 句号 | \u3002 | 。 |
| 分号 | \uff1b | ; |
| 逗号 | \uff0c | , |
| 冒号 | \uff1a | : |
| 左单引号 | \u2018 | ‘ |
| 右单引号 | \u2019 | ’ |
| 左双引号 | \u201c | “ |
| 右双引号 | \u201d | ” |
| 左括号 | \uff08 | ( |
| 右括号 | \uff09 | ) |
| 顿号 | \u3001 | 、 |
| 问号 | \uff1f | ? |
| 左书名号 | \u300a | 《 |
| 右书名号 | \u300b | 》 |
| 感叹号 | \uff01 | ! |
| 破折号 | \u2014 | —— |
| 省略号 | \u2026 | …… |
| 连接号 | \u2013 | – |
| 间隔号 | \uff0e | . |
| 匹配中文汉字 | \u4e00-\u9fa5 |