php用户名正则验证
在php中,通过正则表达式对用户名进行格式验证,烦了我好久,终于找到了解决办法,在这里分享给大家。
用户名验证规则:用户名只能由数字、字母、中文汉字及下划线组成,不能包含特殊符号。
<?php
header('Content-Type:text/html;charset=utf-8');
$string = "梅子16352_aa";
if(preg_match('/^[A-Za-z0-9_\x{4e00}-\x{9fa5}]+$/u',$string)) {
echo "可以注册!";
}else{
echo "用户名由2-16位数字或字母、汉字、下划线组成!";
}
关键在于"/^[A-Za-z0-9_\x{4e00}-\x{9fa5}]+$/u"这一段,其中"A-Za-z0-9_"代表验证字母、数字及下划线,"\x{4e00}-\x{9fa5}"代表汉字验证。"/u"代表unicode(utf-8)匹配。
在php中,不支持[\u4e00-\u9fa5]匹配汉字,而是用\x表示十六进制数据,然而php中用"[\x4e00-\x9fa5]"的写法也是错的,必须用{}把它包起来才行。此外,由于编码关系,需要用到"/u"声明编码格式。
参考自:http://www.thinkphp.cn/code/642.html
php用户名正则验证的更多相关文章
- H5前端正则验证插件
最近学习了一个新的关于前端正则验证的插件,‘jQuery.validate.js ’ 要用这个插件 首先得有插件,下载jquery.validate.min.js 和jq文件并引入. 我把它简单的通俗 ...
- Java代码使用正则验证和常用工具方法
1.正则验证邮箱 public static boolean checkEmail(String email){ boolean flag = false; try{ String check = & ...
- 【唯星宠物】——BootStrap/Mysql/PHP/Ajax爬坑之正则验证登录注册子页
前言:唯星宠物产品官网的登录注册,单独一个子页,页面使用BootStrap实现响应式,PHP提供服务端,利用Ajax技术,从Mysql中获取JSON数据,并对表单信息进行正则验证.项目github地址 ...
- 正则验证&模态框
在日常生活中,凡是需要表单验证的都会用到正则验证.下面拿一个简单的带有模态框的正则验证的小demo看一下 <style> /* 遮罩层 */ .ma ...
- 【WCF】使用“用户名/密码”验证的合理方法
我不敢说俺的方法是最佳方案,反正这世界上很多东西都是变动的,正像老子所说的——“反(返)者,道之动”.以往看到有些文章中说,为每个客户端安装证书嫌麻烦,就直接采用把用户名和密码塞在SOAP头中发送,然 ...
- WCF 安全性之 自定义用户名密码验证
案例下载 http://download.csdn.net/detail/woxpp/4113172 客户端调用代码 通过代理类 代理生成 参见 http://www.cnblogs.com/woxp ...
- OpenVPN使用用户名/密码验证方式
OpenVPN推荐使用证书进行认证,安全性很高,但是配置起来很麻烦.还好它也能像pptp等vpn一样使用用户名/密码进行认证. 不管何种认证方式,服务端的ca.crt, server.crt, ser ...
- easyui扩展正则验证,函数验证
用easyui做业务系统,对于默认的几个验证规则,肯定是不够的,难免会增加几种规则.可是问题来了,往往是我们在开发会遇到很多各种各样的验证,时间久了才发现,这些扩展的正则无非就是添加一个正则验证规则, ...
- TP框架自带的正则验证的规则(转载)
thinkphp框架里面自带有很多自动验证的规则,下面是框架自带的正则验证的规则,官方的说明文档里面没有这么多,所以记下来,以备使用. view sourceprint?01static $regex ...
随机推荐
- logging日志模块_python
一.logging模块 1.功能 logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级.日志保存路径.日志文件回滚等:相比print,具备如下优点: 可以通过设 ...
- Roles in graphs
related website: Beyond Community Detection - RolX; ReFeX and RolX ; What are roles? “Functions” of ...
- youtube-dl parameters
how to select the format of vidoes from youtube-dl? https://www.jianshu.com/p/611009843919 https://u ...
- Java基本语法--变量
本篇博客主要介绍了Java基本语法中变量(variable)d的使用,变量是指内存中的一个存储区域,用于在内存中保存数据,在该区域的数据可以在同一类型范围内不断变化.变量是程序中最基本的存储单元.包含 ...
- apk 测试入门基本操作
通过以上两个方法查询到运行的system service后,就可以在dumpsys后面加上service的名字,查看指定的service信息. // 查看Activity相关信息adb shell d ...
- 使用Powershell开机启动隐藏窗口的程序
1.打开注册表找到键值:计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 2.添加字符串值:StartJetSer ...
- 使用Unity3d和C#的一些属性来设置特殊行为
使用 Unity 的C#语言 ,利用属性(Attribute)来类定义和变量定义或区分其他的变量,您可以设置一种特殊行为 例如,您添加[SerializeField]属性变量,私有变量标识序列化. [ ...
- JSON.toJSONString(Object object,SerializerFeature...features)详解
D package myProject; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; ...
- Java之字符串替换replace()
replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的 import java.uti ...
- 关于MySQL的tinyint(3)问题
mysql 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度.tinyint可以存储1字节, 即unsigned 0~255(signed -127~127).显示大小不受 ...