PHP正则表达,汉字大小写字母数字下划线以及@符号 5
我想弄这个正则只是想让用户名这个字段支持汉字,大小写字母,手机号,邮箱,拒绝其它的字符越简单越好。------------------------------------...
我想弄这个正则只是想让用户名这个字段支持汉字,大小写字母,手机号,邮箱,拒绝其它的字符
越简单越好。
-------------------------------------------------------------------------
[\u4E00-\u9FA50-9a-zA-Z_@]+$
-------------------------------------------------------------------------
以上写法不知对不对 展开
越简单越好。
-------------------------------------------------------------------------
[\u4E00-\u9FA50-9a-zA-Z_@]+$
-------------------------------------------------------------------------
以上写法不知对不对 展开
2013-07-20
展开全部
匹配中文:[\u4e00-\u9fa5]
英文字母:[a-zA-Z]
数字:[0-9]
匹配中文,英文字母和数字及_:
^[\u4e00-\u9fa5_a-zA-Z0-9]+$
同时判断输入长度:
[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}
^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 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
XYZAbcAbcAbcXYZAbcAb6、
[^\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
{
\\存在非法字符
}
最长不得超过7个汉字,或14个字节(数字,字母和下划线)正则表达式
^[\u4e00-\u9fa5]{1,7}$|^[\dA-Za-z_]{1,14}$
英文字母:[a-zA-Z]
数字:[0-9]
匹配中文,英文字母和数字及_:
^[\u4e00-\u9fa5_a-zA-Z0-9]+$
同时判断输入长度:
[\u4e00-\u9fa5_a-zA-Z0-9_]{4,10}
^[\w\u4E00-\u9FA5\uF900-\uFA2D]*$ 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
XYZAbcAbcAbcXYZAbcAb6、
[^\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
{
\\存在非法字符
}
最长不得超过7个汉字,或14个字节(数字,字母和下划线)正则表达式
^[\u4e00-\u9fa5]{1,7}$|^[\dA-Za-z_]{1,14}$
追问
我想判断用户名是否属性手机号,这样写对不对
if (ereg("^1[3458]\d{9}$",$username)){
echo "手机号";}else{
echo "不是手机号";}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询