当前位置:首页 » 编程语言 » php正则验证

php正则验证

发布时间: 2022-01-13 06:10:04

‘壹’ php正则表达式验证

$r=preg_match('/^[a-zA-Z0-9]+$/','');
if($r)echo'success';
elseecho'fail';

正则说明:
^表示后面的内容必须在开头。
$表示前面的内容必须在结尾。
[]表示匹配其中的任意一种字符。
a-z表示从小写a到小写z。
+表示之前的内容可以是一个或多个。
其他:
如果允许为空,可以把+改成*,*表示之前的内容可以没有也可以是一个或多个。
如果要限定长度,可以把+改成{min,max},{min,max}表示之前的内容最小多少位,最大多少位,如{20,40}。

‘贰’ php 正则验证用户名

js中var reg=/(?:^\d*$|[^\u4e00-\u9fd5_0-9a-z]+)/gi;
php中$pattern = "/(?:^\d*$|[^\\x{4e00}-\\x{9f5a}_a-z0-9])/i";
以上都是匹配不满足条件的情况

‘叁’ php正则表达式来验证文字长度

preg_match_all函数用来进行正在表达式匹配的,你的语句中是把$str拆分为字符,存放在$match数组里面,你在语句中增加下来的语句可以明白其功能:
print_r($match);

此函数的详细解释见官方资料:

http://php.net/manual/zh/function.preg-match-all.php

不过呢,为了检测字符串的长度,可以使用strlen这样的函数,更加高效和快速。

‘肆’ php正则表达式验证用户名

//中文和英文结合而且6-20字符
$preg='/^[a-zA-Z\x{4e00}-\x{9fa5}]{6,20}$/u';
//英文、数字、下划线6-20位字符
$preg='/^[\w\_]{6,20}$/u';

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

‘伍’ php正则匹配数字

式子:/^[a-zA-Z0-9]+$/u

释义:

"/":表示正则表达式的定义,固定写法。

"^":表示开头。

"[]":表示字符组。匹配所包含的任意一个字符。如,“[ab]”匹配“plain”中的“a”。

"a-z":表示匹配小写字母a-z的字母范围。

"A-Z":表示匹配大写字母A-Z的字母范围。

"0-9":表示匹配0-9的数字范围。

"+":表示匹配次数大于等于1。

"$":匹配输入行尾。如果设置了RegExp对象Multiline属性,$也匹配“ ”或“ ”之前的位置。


"u":最后的u是模式修饰符,严格的说可能叫预定义常量。表示使用unicode进行匹配。

(5)php正则验证扩展阅读:

正则表达式的特点是:

1. 灵活性、逻辑性和功能性非常强;

2. 可以迅速地用极简单的方式达到字符串的复杂控制。

3. 对于刚接触的人来说,比较晦涩难懂。

由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到着名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。

‘陆’ 关于PHP正则密码验证

这不关编码的事。比如你的密码表单为<input name="pwd" />那: <?php preg_match('/^[_\w]+$/',$_POST['pwd'],$match); if(empty($match))die('密码不能乱来!明白?');?>

‘柒’ 请教PHP正则

?: 是个整体,这个意思是外面的括号仅仅起分组的作用,匹配结果不出现在 $1 $2 $3 ... 里面。

\+? 中的 ? 匹配0个至1个 +
(...)? 的 ? 同上,匹配括号中的内容0次到1次

补充:
通常情况下,正则表达式的()可以将匹配结果提取出来。
比如/^(\d+)-(\d+)-(\d+)$/ 这样的表达式可以匹配 "2010-03-01" 这样的字符串,执行匹配之后会将结果放在 $1 $2 $3 里面,$1的内容是2010, $2的内容是03,$3的内容是01。

括号里面开头加 ?: 就是跳过这个括号,也就是不提取其中内容,仅仅起分组的作用。如果用/^(?:\d+)-(\d+)-(\d+)$/ 匹配 "2010-03-01",$1的内容就是03,而不是2010了。

可以用以下程序验证:
<?php
preg_match('/^(\d+)-(\d+)-(\d+)$/', '2010-03-01', $matches);
print_r($matches);

preg_match('/^(?:\d+)-(\d+)-(\d+)$/', '2010-03-01', $matches);
print_r($matches);

‘捌’ php里面的正则判断问题

if(is_numeric($a)){
echo "yes";
}else{
echo "no";
}
is_numeric 检测变量是否为数字

‘玖’ 用PHP正则表达式判断

<?php
$message=$_POST['message'];
if(preg_match('/<script[^>]*>/',$message)){//匹配
echo'error';die;
}
?>

‘拾’ php正则验证。

$result=preg_replace("/[^:]*s*:s*([^:]*)/","$1","DomainName:QIGOU12.COM");
echo$result." ";

热点内容
循迹小车算法 发布:2024-12-22 22:28:41 浏览:80
scss一次编译一直生成随机数 发布:2024-12-22 22:04:24 浏览:954
嫁接睫毛加密 发布:2024-12-22 21:50:12 浏览:972
linuxbin文件的安装 发布:2024-12-22 21:46:07 浏览:796
vlcforandroid下载 发布:2024-12-22 21:45:26 浏览:662
电脑做网关把数据发送至服务器 发布:2024-12-22 21:44:50 浏览:429
新华三代理什么牌子的服务器 发布:2024-12-22 21:33:21 浏览:340
欢太会员密码是什么 发布:2024-12-22 20:57:28 浏览:71
sqllocaldb 发布:2024-12-22 20:07:08 浏览:125
如何找到我的服务器 发布:2024-12-22 19:52:14 浏览:301