PHP正则表达,汉字大小写字母数字下划线以及@符号 5

我想弄这个正则只是想让用户名这个字段支持汉字,大小写字母,手机号,邮箱,拒绝其它的字符越简单越好。------------------------------------... 我想弄这个正则只是想让用户名这个字段支持汉字,大小写字母,手机号,邮箱,拒绝其它的字符

越简单越好。
-------------------------------------------------------------------------
[\u4E00-\u9FA50-9a-zA-Z_@]+$
-------------------------------------------------------------------------
以上写法不知对不对
展开
 我来答
费神在天
2013-07-20 · 超过13用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:24.8万
展开全部
邮箱的正则表达式为:/^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$/,其他的一楼已经回答得很完备了
匿名用户
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}$
追问
我想判断用户名是否属性手机号,这样写对不对
if (ereg("^1[3458]\d{9}$",$username)){
echo "手机号";}else{
echo "不是手机号";}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式