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

by admin on 2019年9月2日

javascript正则检测只含有汉字、数字、字母、下划线不能以下划线开头和结尾

匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式

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 
 {  
 \\存在非法字符  
 }

1、一个正则表达式,只含有汉字、数字、字母、下划线不能以下划线开头和结尾:
^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$  其中:
^  与字符串开始的地方匹配
(?!_)  不能以_开头
(?!.*?_$)  不能以_结尾
[a-zA-Z0-9_\u4e00-\u9fa5]+  至少一个汉字、数字、字母、下划线
$  与字符串结束的地方匹配

遇到一个用户名检测的的问题,查了一下,总结例子如下:

$action = trim($_get[‘action’]);
if($action == “sub”)
{
    $str = $_post[‘dir’];   
   
//if(奥门威尼斯网址 ,!preg_match(“/^[“.chr(0xa1).”-“.chr(0xff).”a-za-z0-9_]+$/”,$str))
//gb2312汉字字母数字下划线正则表达式
    if(!preg_match(“/^[x{4e00}-x{9fa5}a-za-z0-9_]+$/u”,$str))  
//utf-8汉字字母数字下划线正则表达式
    {  
        echo “<font
color=red>您输入的[“.$str.”]含有违法字符</font>”;  
    }
    else
    {
        echo “<font
color=green>您输入的[“.$str.”]完全合法,通过!</font>”;  
    }
}
?>
<form method=”post” action=””>
输入字符(数字,字母,汉字,下划线):
    <input type=”text” name=”dir” value=””>
    <input type=”submit” value=”提交”>
</form>

以上所述就是本文的全部内容了,希望对大家学习javascript正则表达式能够有所帮助。

放在程序里前面加@,否则需要\\进行转义
@”^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$”
 (或者:@”^(?!_)\w*(?<!_)$”    或者  @”
^[\u4E00-\u9FA50-9a-zA-Z_]+$ ”  )

复制代码 代码如下:

匹配网址url的正则表达式:[a-za-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-za-z][a-za-z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021-87888822
匹配腾讯qq号:[1-9][0-9]{4,}
评注:腾讯qq号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用

您可能感兴趣的文章:

  • 详解JavaScript正则表达式之分组匹配及反向引用
  • JavaScript正则表达式的分组匹配详解
  • 浅谈JavaScript正则表达式分组匹配
  • JS正则表达式获取分组内容的方法详解
  • js匹配网址url的正则表达式集合
  • String字符串匹配javascript
    正则表达式
  • JavaScript正则表达式匹配 div
    style标签
  • 详解javascript
    正则表达式之分组与前瞻匹配

2、只含有汉字、数字、字母、下划线,下划线位置不限:
  ^[a-zA-Z0-9_\u4e00-\u9fa5]+$

var reg = /^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$/;
if (!reg.test(实际取值的字符串)) {
   
alert(‘请输入5-24位字符:支持中文、英文、数字、“_”,推荐使用中文’);
}

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  
  {  
  \\存在非法字符  
  }


发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图