JavaScript正则表达式匹配数字、字母与下划线详解

作者:纸飞机

时间:2026-10-29

浏览:429

本文介绍如何使用JavaScript正则表达式匹配包含数字、字母、下划线及汉字的字符串。重点解析禁止以下划线开头或结尾的规则,提供多种正则写法及C#代码验证示例,帮助开发者准确进行字符串格式校验。

文章目录

正则表达式匹配规则详解


1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾:
^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中:
^ 与字符串开始的地方匹配
(?!_)  不能以_开头
(?!.*?_$)  不能以_结尾
[a-zA-Z0-9_\u4e00-\u9fa5]+  至少一个汉字、数字、字母、下划线
$  与字符串结束的地方匹配
 
放在程序里前面加@,否则需要\\进行转义 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$"
 (或者:@"^(?!_)\w*(?<!_)$"  或者 @" ^[\u4E00-\u9FA50-9a-zA-Z_]+$ " )
 
2、只含有汉字、数字、字母、下划线,下划线位置不限:
 ^[a-zA-Z0-9_\u4e00-\u9fa5]+$
 
3、由数字、26个英文字母或者下划线组成的字符串
^\w+$
 
4、2~4个汉字
 @"^[\u4E00-\u9FA5]{2,4}$"; 
 
5、
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$
 
用:(Abc)+  来分析: XYZAbcAbcAbcXYZAbcAb
 
XYZAbcAbcAbcXYZAbcAb
6、
[^\u4E00-\u9FA50-9a-zA-Z_]
34555#5' -->34555#5'
 
[\u4E00-\u9FA50-9a-zA-Z_]  eiieng_89_  --->  eiieng_89_
_';'eiieng_88&*9_  --> _';'eiieng_88&*9_
_';'eiieng_88_&*9_ --> _';'eiieng_88_&*9_
 
public bool RegexName(string str)
 {
  bool flag=Regex.IsMatch(str,@"^[a-zA-Z0-9_\u4e00-\u9fa5]+$");
  return flag;
 }
 
 Regex  reg=new  Regex("^[a-zA-Z_0-9]+$");  
 if(reg.IsMatch(s))  
 {  
 \\符合规则  
 }  
 else 
 {  
 \\存在非法字符  
 }

总结

以上就是本文关于正则表达式在JavaScript中匹配数字、字母及下划线等内容的全部分享,希望这些内容能对各位学习正则表达式有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章