当前位置:网站首页>js正则表达式之中文验证(转)
js正则表达式之中文验证(转)
2022-07-04 23:03:00 【你的美,让我痴迷】
今天做表单提交的输入框条件验证,验证是否包含中文;网上搜了一圈基于js正则表达式的验证基本不好用,而且大多都是出自一两篇原文的转帖!到底什么才是拿来主义呢。根据搜索结果,本文取精华,告诉大家一个好用的中文验证方法。
使用js正则表达式匹配中文,需要了解中文字符在unicode编码中所处的区间。这样才能够了解表达式的匹配原理。
首先在正则表达式中使用 Unicode,必须使用u开头,接着是字符编码的四位16进制表现形式
简单匹配中文方法: /[^u0000-u00FF]/ (匹配非单字节字符 )
另错误方法:/[^u00-uFF]/ (匹配 非单字节字符、还包括一些全半角符号如,.(){}'"!等、还有vwxyz字符)
说明: //u0000-u00ff.包含unicode单字节编码( 0-255编码)包含基本控制字符和拉丁文字母。 采用该否定表达式,粗略判断是否含有中文。
具体的匹配中文及字符方法:/[u4E00-u9FA5uF900-uFA2D]/
说明: u4e00-u9fbf : unicode CJK(中日韩)统一表意字符。u9fa5后至u9fbf为空
uF900-uFAFF : 为unicode CJK 兼容象形文字 。uFA2D后至uFAFF为空
具体可参考unicode编码表:http://www.nengcha.com/code/unicode/class/
javascript代码如下所示:
//是否含有中文(也包含日文和韩文)
function isChineseChar(str){
var reg = /[u4E00-u9FA5uF900-uFA2D]/;
return reg.test(str);
}
//同理,是否含有全角符号的函数
function isFullwidthChar(str){
var reg = /[uFF00-uFFEF]/;
return reg.test(str);
}
边栏推荐
- Object detection based on OpenCV haarcascades
- CTF竞赛题解之stm32逆向入门
- Phpcms paid reading function Alipay payment
- MariaDB's Galera cluster application scenario -- multi master and multi active databases
- Redis: redis message publishing and subscription (understand)
- [Jianzhi offer] 6-10 questions
- MySQL数据库备份与恢复--mysqldump命令
- 该如何去选择证券公司,手机上开户安不安全
- Qt加法计算器(简单案例)
- phpcms付费阅读功能支付宝支付
猜你喜欢
Why does infographic help your SEO
可观测|时序数据降采样在Prometheus实践复盘
Observable time series data downsampling practice in Prometheus
ETCD数据库源码分析——处理Entry记录简要流程
CTF競賽題解之stm32逆向入門
Redis introduction complete tutorial: detailed explanation of ordered collection
QT addition calculator (simple case)
debug和release的区别
Redis入门完整教程:哈希说明
Stm32 Reverse Introduction to CTF Competition Interpretation
随机推荐
ffmpeg快速剪辑
Analysis of the self increasing and self decreasing of C language function parameters
【js】-【排序-相关】-笔记
A complete tutorial for getting started with redis: transactions and Lua
Why does infographic help your SEO
The difference between debug and release
Set up a website with a sense of ceremony, and post it to 1/2 of the public network through the intranet
[binary tree] the maximum difference between a node and its ancestor
Notepad++--编辑的技巧
【二叉树】节点与其祖先之间的最大差值
Recommended collection: build a cross cloud data warehouse environment, which is particularly dry!
JS card style countdown days
Font design symbol combination multifunctional wechat applet source code
Redis introduction complete tutorial: detailed explanation of ordered collection
时间 (计算)总工具类 例子: 今年开始时间和今年结束时间等
List related knowledge points to be sorted out
One of the commonly used technical indicators, reading boll Bollinger line indicators
heatmap. JS picture hotspot heat map plug-in
ECCV 2022 | 腾讯优图提出DisCo:拯救小模型在自监督学习中的效果
Excel 快捷键-随时补充