php用户名正则
发布时间: 2024-01-16 10:57:08
1. php 正则表达式如何判断一个字符串是否为合法的四则数学算式
代码如下(经测通过):
<?php
$str="((1+1)*3.3)/10-12+(1+1)";
if(preg_match("/[+-*/.]{2}|[^+-*/()d.]+/i",$str,$matches)){
echo'非法算式';
}else{
if(substr_count($str,"(")==substr_count($str,")")){
echo'合法算式';
}else{
echo'括号不匹配';
}
}
?>
判断str里是否存在连续运算符、小数点或运算符、括号、数字以外的字符
若存在则非法
若不存在则判断str里( 和 )数量是否一致
2. php 判断 用户名 英文或者数字
用正则来判断,如检查是否数字的代码: 1 2 if(preg_match("/^\d*$/",$fgid)) echo('是数字'); else echo('不是数字'); 验证由26个英文字母组成的字符串:^[A-Za-z]+$ 验证由26个大写英文字母组成的字符串:^[A-Z]+$ 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
3. 求一个PHP的密码匹配正则
你这里要求了密码长度为6-18位,/[\s\S]+/只能匹配任意字符,且能偶匹配的字符远超出你给的限制。
建议你在匹配密码前,先对密码字符串的长度进行检验,然后再对密码字符的合法性进行判断,
这里合法性的判断又有很多,如必须以字母开头、数字开头、数字结尾等等;
下面写了一个正则表达式只能匹配当且仅包含由字母、数字、特殊字符!@#$%^&*_组成的密码字符串。
如下:
[-\da-zA-Z!@#$%^&*_]*
更严格的判断,比如开头^,结尾$的判断,必须包含一个字母一个数字等等,根据自己的需要进行更改完善
4. php正则表达式验证用户名
//中文和英文结合而且6-20字符
$preg='/^[a-zA-Z\x{4e00}-\x{9fa5}]{6,20}$/u';
//英文、数字、下划线6-20位字符
$preg='/^[\w\_]{6,20}$/u';
过滤非法字符防止SQL注入漏洞,只能另说,对不同的接口和参数有针对性的过滤,没有通用的正则。
热点内容