您的位置:

php用户名正则,用户名和密码正则验证

本文目录一览:

php写出一个验证用户ID的正则表达式

"/^[^\x{4e00}-\x{9fa5}A-Za-z0-9_-\.]+$/u"

用preg_match函数

对于uft-8验证,gbk的也差不多,就中文验证可能不一样

2到24位就不好说了,尤其中文,在utf-8下,字符位数不一样,php中用使用mb_strlen来计算长度,中文都算一个字符,在使用mb_strlen函数时首先应该设置编码字符集,mb_internal_encoding('utf-8'),或者,在mb_strlen中第二个参数给出编码集

中文utf-8在mysql中也是算一个字符

PHP 注册表单的正则验证

我举个例子撒

假如你表单是这么写

用户名: input name="username" value="" / 注意name为 username

表单用POST方式提交 即form 的method 属性为post

在PHP中这么验证,

假设我要这个用户名只能是 10-32位 数字英文下划线组合,且第一位必须字母

empty($_POST['username'])  $_POST['username'] = '';

if(!preg_match('/^[a-zA-Z0-9\_]{10,32}$/',$_POST['username'])) exit('用户名不合法');

if(!preg_match('/^[a-zA-Z]/',$_POST['username'])) exit('第一位必须是字母');

正则表达式就是 两个/中间的部分了

^表示前面没有任何字符了

$表示结尾没有任何字符了

[a-zA-Z0-9\_]表示匹配规则集

每个字符都必须 是 小写字母a-z 或 大写字母A-Z 或  数字0-9 或者下划线_  其中\表示转义符 用于转义一些特殊字符

{16,32} 表示匹配次数为 16次到32次,少于16 或多于32 均为不合格,如果不限制长度 可以直接写为  +  即 [a-zA-Z0-9]+ 或者指定一个长度 {10}

关于其他的表达式 百度搜索下就行了,都是通用的

例如

匹配手机号 /^1[0-9]{10}$/

php 用户名和密码 正则表达式

/^[A-Za-z0-9_\u4e00-\u9fa5]{3,15}$/ 用户名

/^[^\u4e00-\u9fa5\s]{6,20}$/ 密码

php正则表达式验证用户名

//中文和英文结合而且6-20字符

$preg='/^[a-zA-Z\x{4e00}-\x{9fa5}]{6,20}$/u';

//英文、数字、下划线6-20位字符

$preg='/^[\w\_]{6,20}$/u';

过滤非法字符防止SQL注入漏洞,只能另说,对不同的接口和参数有针对性的过滤,没有通用的正则。

php 判断 用户名 英文或者数字

用正则来判断,如检查是否数字的代码: 1 2 if(preg_match("/^\d*$/",$fgid)) echo('是数字'); else echo('不是数字'); 验证由26个英文字母组成的字符串:^[A-Za-z]+$ 验证由26个大写英文字母组成的字符串:^[A-Z]+$ 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$

用PHP写用户名验证..注意我的正则表达式用法是否正确

$pattern="/\w/";这里有问题,一个字符啊。

得用/^\w+$/哦,/^[_a-zA-Z0-9]+$/也行

其实字符个数你都可以写到正则里面不用再额外判断f($newname==""||$newname.length6||A.lenth16||!pattern.test(A))

写成

$pattern="/^[a-zA-Z][_a-zA-Z0-9]{5,15}$/"(6-16位字符,字母开头,只包含字母数字下划线)然后只用

f($newname==""||!pattern.test(A))来判断就可以了