php 正则 中文英文,php 用户名正则表达式(中文,英文,数字,字母)

由字母a~z(不区分大小写)、数字0~9、减号或下划线组成,只能以数字或字母开头和结尾 用户名长度为4~18个字符:^[a-za-z0-9]{1}[a-za-z0-9|-|_]{2-16}[a-za-z0-9]{1}$

用户名为大写字母小写字母或下划线,并以字母开头,长度为6-20:^[a-za-z][wd_]{5,19}

用户名:包括英文小写、汉字、数字、下划线,不能全部是数字,下划线不能在末尾:/^[a-z0-9_u4e00-u9fa5]+[^_]$/g

utf-8下:preg_match("/^[a-z0-9_x80-xff]+[^_]$/g",$a);

gbk下:preg_match("/^[a-z0-9_".chr(0xa1)."-".chr(0xff)."]+[^_]$/",$a)

可有中文的用户名验证:[a-za-z0-9][u4e00-u9fa5]

由于我们写的表达式是匹配一个字符串的任何部分,它将不止认为'mike_84′是合法字符串,同样也会匹配类似'%! mike_84&'这种包含了我们不希望出现的东西的字符串,我们需要用到行定位点, ^ (caret) 和 $ (dollar) 字符将把我们的表达式限制在一个字符串的起点和终点位置,这样可以确保整个用户名符合我们的设定,而不是一部分.

所以修订版的正则表达式象这样:/^[a-za-z0-9_]{3,16}$/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值