求一个PHP正则表达式匹配(字母、数字、汉字、下划线)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一个PHP正则表达式匹配(字母、数字、汉字、下划线)相关的知识,希望对你有一定的参考价值。
可以都是字母 或者都是数字 或者都是汉字
参考技术A <?php$pat = '#^([a-zA-Z]+|[0-9]+|[\\x4e00-\\x9fa5]+)$#u';
$s = "你好";
var_dump( preg_match( $pat, $s )); 参考技术B /^[\\u4e00-\\u9fa5a-zA-Z0-9_]+$/ 参考技术C /^[A-Za-z0-9\u4eoo-\u9fah]+$/ 参考技术D "/^[\u4e00-\u9fa5\w]+$/" 第5个回答 2017-07-28 ^[a-zA-Z0-9_/u4e00-/u9fa5]+$
正则表达式-匹配:中文,英文,数字,下划线
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
XYZAbcAb
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
//存在非法字符
以上是关于求一个PHP正则表达式匹配(字母、数字、汉字、下划线)的主要内容,如果未能解决你的问题,请参考以下文章