js正则表达式匹配数字字母下划线等


Posted in Javascript onApril 14, 2015
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正则表达式能够有所帮助。

Javascript 相关文章推荐
Prototype使用指南之form.js
Jan 10 Javascript
javascript中传统事件与现代事件
Jun 23 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
Aug 24 Javascript
深入浅析同源策略和跨域访问
Nov 26 Javascript
JS取模、取商及取整运算方法示例
Oct 13 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
Oct 21 Javascript
jQuery实现火车票买票城市选择切换功能
Sep 15 jQuery
ES6之模版字符串的具体使用
May 17 Javascript
解决循环中setTimeout执行顺序的问题
Jun 20 Javascript
从vue源码看props的用法
Jan 09 Javascript
vue项目中实现缓存的最佳方案详解
Jul 11 Javascript
ES2020 新特性(种草)
Jan 12 Javascript
JavaScript使用Replace进行字符串替换的方法
Apr 14 #Javascript
JavaScript面向对象的实现方法小结
Apr 14 #Javascript
JavaScript使用Prototype实现面向对象的方法
Apr 14 #Javascript
jQuery插件ajaxFileUpload实现异步上传文件效果
Apr 14 #Javascript
Angularjs制作简单的路由功能demo
Apr 14 #Javascript
javascript中几个容易混淆的概念总结
Apr 14 #Javascript
浅谈Sizzle的“编译原理”
Apr 14 #Javascript
You might like
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
$()JS小技巧
2007/07/21 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
2014/11/12 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
jquery实现图片切换代码
2016/10/13 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
JS中的BOM应用
2018/02/02 Javascript
vue中axios实现数据交互与跨域问题
2019/05/12 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
[00:28]DOTA2北京网鱼队选拔赛
2015/04/08 DOTA
一个基于flask的web应用诞生 组织结构调整(7)
2017/04/11 Python
python实现日常记账本小程序
2018/03/10 Python
python实现自动登录
2018/09/17 Python
python用什么编辑器进行项目开发
2020/06/17 Python
Python绘图之柱形图绘制详解
2020/07/28 Python
python链表类中获取元素实例方法
2021/02/23 Python
Sperry官网:帆船鞋创始品牌
2016/09/07 全球购物
navabi英国:设计师大码女装
2019/06/25 全球购物
运动会广播稿60字
2014/01/15 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
书香家庭事迹材料
2014/05/09 职场文书
经典演讲稿汇总
2014/05/19 职场文书
五一促销活动总结
2014/07/01 职场文书
物理分数没达标检讨书
2014/09/13 职场文书
党员学习中共十八大报告思想汇报
2014/09/15 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
2015年科学教研组工作总结
2015/07/22 职场文书
k8s部署redis cluster集群的实现
2021/06/24 Redis
vue实力踩坑之push当前页无效
2022/04/10 Vue.js
python 使用pandas读取csv文件的方法
2022/12/24 Python