php中正则匹配用户密码
例1
代码如下 | 复制代码 |
<?php |
其它规则这里就不举例了大家可直接参阅
例子:
正则表达式 |
^[a-zA-Z]w{5,17}$
|
---|---|
匹配 | 以字母开头,长度在6~18之间,只能包含字符、数字和下划线 |
不匹配 |
正则表达式 |
^(?=.*d)(?=.*[a-z])(?=.*[A-Z])(?!.*s).{4,8}$
|
---|---|
匹配 | 1agdA*$# | 1agdA*$# | 1agdA*$# |
不匹配 | wyrn%@*&$# f | mbndkfh782 | BNfhjdhfjd&*)%#$) |
正则表达式 |
[^A-Za-z0-9]
|
---|---|
匹配 | !@#$ | %^&* | '><?.," |
不匹配 | ABC123abc | abc123ABC | abc0132ABC |
正则表达式 |
Password="({.+}[0-9a-zA-Z]+[=]*|[0-9a-zA-Z]+)"
|
---|---|
匹配 | !@#$ | %^&* | '><?.," |
不匹配 | ABC123abc | abc123ABC | abc0132ABC |
正则表达式 |
(?-i)(?=^.{8,}$)((?!.*s)(?=.*[A-Z])(?=.*[a-z]))(?=(1)(?=.*d)|.*[^A-Za-z0-9])^.*$
|
---|---|
匹配 | a3dAbed. | P@ssword1 | aB_1bbbb | myPassw0rd! |
不匹配 | password | password12 | password__12 | p@ssw0rd |
substr() 函数返回字符串的一部分。
语法
substr(string,start,length)
例子 1
代码如下 | 复制代码 |
<?php 输出: world! |
例子2
代码如下 | 复制代码 |
echo substr('中国文',1); |
结果就是筹码了,后来才知道中文与英文的区别在于内编码了,一个网站这样说到substr函数在截取字符时是按字节来截取的,中文字符在GB2312编码时为2个字节,utf-8编码时为3个字节,所以截取指定长度的字符串时如果截断了汉字,那么返回的结果显示出来便会出现乱码
解决办法
1、利用mb_substr来截取
代码如下 | 复制代码 |
<?php echo "mb_substr:" . mb_substr($str, 0, 7, 'utf-8'); echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); |
但是如果要使用mb_substr截取我们需要使用使用mbstring扩展库,如果没有权限的朋友我们就可参考下面函数
代码如下 | 复制代码 |
function msubstr($str, $start, $len) { |
如
代码如下 | 复制代码 |
<?php |
把程序保存成UTF-8编码再访问,IE6下载的文件名就会乱码。 FF3下下载的文件名就只有“中文”两个字。Opera 9下一切正常。
输出的header实际上是这样子:
代码如下 | 复制代码 |
Content-Disposition: attachment; filename=中文 文件名.txt其实按照RFC2231的定义, 多语言编码的Content-Disposition |
应该这么定义:
代码如下 | 复制代码 |
Content-Disposition: attachment; filename*="utf8''%E4%B8%AD%E6%96%87%20%E6%96%87%E4%BB%B6%E5%90%8D.txt" |
即:
filename后面的等号之前要加 *
filename的值用单引号分成三段,分别是字符集(utf8)、语言(空)和urlencode过的文件名。
最好加上双引号,否则文件名中空格后面的部分在Firefox中显示不出来
注意urlencode的结果与php的urlencode函数结果不太相同,php的urlencode会把空格替换成+,而这里需要替换成%20
例1
代码如下 | 复制代码 |
<?php $filename = basename($file); header("Content-type: application/octet-stream"); //处理中文文件名 header('Content-Disposition: attachment; filename="' . $filename . '"'); |
这样我们就完全解决了中文文名乱码这个问题了。
在很多时候我们会碰到在字符串有会有空格,而这些空格不是我们想要的我们要怎么清除呢,下面我来介绍利用正则表达式来清除字符串中空白的办法。先利用trim系列函数来删除左右空格
代码如下 | 复制代码 |
trim 去除一个字符串两端空格, echo trim(" 空格 ")."<br>"; ?> |
删除所有空格不能使用php trim()函数,因类他也只能是去除两边空闲
代码如下 | 复制代码 |
|
上面只能删除是一些常见的空格了,下面分享一个更具体的。
代码如下 | 复制代码 |
$str = " This line containstliberal rn use of whitespace.nn"; // First remove the leading/trailing whitespace // Now remove any doubled-up whitespace // Finally, replace any non-space whitespace, with a space // Echo out: 'This line contains liberal use of whitespace.' |
中间就是利用了替换连续空格与左右空格之后再利用preg_replace替换去除重复的,然后再用另一个正则表达式[nrt]来查找任何残余的换行符(n), 回车(r), 或制表符(t) 即可。
mime_content_type返回指定文件的MIME类型,
用法:
代码如下 | 复制代码 |
echo mime_content_type ( 'php.gif' ) . "n" ; echo mime_content_type ( 'test.php' ); |
输出:
image/gif
text/plain
但是此函数在php5.3.0以后就不可用了,如果你是php5.3.0以后版本我们可使用
代码如下 | 复制代码 |
$finfo = finfo_open(FILEINFO_MIME); |
来操作
下面介绍用户自定的我这个是没有php版本限制的。
代码如下 | 复制代码 |
<?php function _getMimeDetect() { function _getMimeType($path) { $path = '1.txt'; //实际上当前路径并不存在1.txt /*End of php*/ |
相关文章
- 存储过程在数据库的应用中我们用到的非常的多了,下面我们来看一篇关于PHP操作MSSQL存储过程修改用户密码的例子,具体的如下所示。 mssql2008 存储过程 下面可以直接...2016-11-25
- 有一个项目要获取页面中所有img标签中的图片地址,这里我们使用到了preg_match_all正则函数,然后看我下面的一些参数即可实现了。 例 代码如下 复制代码 ...2016-11-25
- 这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
- 这篇文章主要介绍了JS基于正则截取替换特定字符之间字符串操作方法,结合具体实例形式分析了JS基于正则实现针对特殊字符、数字等字符串类型的截取操作相关技巧,需要的朋友可以参考下...2017-02-08
- 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写个语法高亮练手,所以用js代码当作例子...2021-05-07
- 昨天在《js 正则学习小记之匹配字符串字面量》谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的...2021-05-07
- 最近在开发一个项目,其中有需求要求我们把一段html转换为一般文本返回,使用正则表达式是明智的选择,下面小编给介绍下C#使用正则表达式过滤html标签,需要的朋友参考下...2020-06-25
- 这篇文章主要介绍JS正则RegExp对象,正则表达式是描述字符模式的对象,用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。下面就来看具体详情,需要的朋友可以参考一下...2021-10-21
- 在 OpenResty 中,同时存在两套正则表达式规范:Lua 语言的规范和 Nginx 的规范,下面这篇文章主要给大家介绍了关于OpenResty中正则模式匹配的2种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。...2020-06-30
- 其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西...2021-05-07
- 替换指定字符的方法有很多,在本文为大家详细介绍下,JS利用正则配合replace是如何做到的,喜欢的朋友可以参考下...2021-05-07
- 这篇文章主要介绍了Spring-AOP 静态正则表达式方法如何匹配切面的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-19
- php教程正则中文表达式 $str = "abc一二三cde"; echo preg_replace('/[^x4e00-x9fa5]/i'," ",$str); $str = "php编程"; if (preg_match("/^[x4e00-x9fa5]+$/u",$s...2016-11-25
- 匹配email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配网址url的正则表达式:[a-za-z]+://[^s]* 下面看一实例 <body onload="f.a.select();"> <?php...2016-11-25
- 在php中判断是否为纯字母我们可直接使用正则/^[a-zA-Z]$/来验证了,包括大小写字母哦,有需要了解的同学可参考参考。 上代码 代码如下 复制代码 ...2016-11-25
- 这篇文章主要介绍了C#正则检测字符串是否字母数字混编的方法,涉及C#正则判定字符串的使用技巧,需要的朋友可以参考下...2020-06-25
- 本篇实例主要是讲到关于如何使用php中正则表达试来获取我们想要的东西,上面的实例就是要把文章内容字符串的链接地址与图片地址全部取出来,所有我们要正则就方便多了...2016-11-25
- 下面提供二款关于php正则链接方法,他们可以-取得内容所有链接并且保存到一个数组,当然也可以把链接全部替换哦。 方法一 代码如下 ...2016-11-25
- 取所有内容中图片的地址我们必须使用正则表达式来匹配了,如果不使用它来匹配我们是无法获取到或才能获取到也是非常的麻烦了,下面我们一起来看看我整理了几段匹配图片地...2016-11-25
- 这篇文章主要介绍了C#基于正则去掉注释的方法,结合简单实例形式分析了C#针对注释符号的正则匹配相关操作技巧,需要的朋友可以参考下...2020-06-25