PHP正则判断输入是否字母实例程序
上代码
代码如下 | 复制代码 |
<?php header('Content-type: text/html; charset=utf-8'); $str = "dasdadsfsadASDSADS"; if (preg_match('/^[a-zA-Z]+$/',$str)) ?> |
这个就是代码
代码如下 | 复制代码 |
preg_match('/^[a-zA-Z]+$/',$str) |
如果是字母则返回TRUE,否则返回FALSE
其它的判断
代码如下 | 复制代码 |
if(preg_match("/^d*$/", "4312")) if(preg_match("/^[a-z]*$/i", "fdsFDfd")) if(preg_match("/^[a-zd]*$/i", "fd4fd34")) |
parse_url函数
我们先来了解一下parse_url函数,官方解决
说明
mixed parse_url ( string $url [, int $component = -1 ] )
本函数解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分。
本函数不是用来验证给定 URL 的合法性的,只是将其分解为下面列出的部分。不完整的 URL 也被接受, parse_url() 会尝试尽量正确地将其解析。
要解析的 URL。无效字符将使用 _ 来替换。
实例
代码如下 | 复制代码 |
$url = "http://www.111cn.net.net/welcome/"; $parts = parse_url($url); print_r($parts);
|
也可以自己去写一个算法!如下
代码如下 | 复制代码 |
|
调用方法
代码如下 | 复制代码 |
$arr = getParams(); |
结果
结果: Array ( [_p] => index [_a] => show [x] => 12 [y] => 23 )
下面是我收藏的一些PHP判断字符串是纯英文、纯汉字或汉英混合 实例,大家可参考。纯英文
代码如下 | 复制代码 |
if(preg_match("/^[a-z]*$/i", "fdsFDfd")) { echo "全字母 "; } |
纯汉字
代码如下 | 复制代码 |
比如: |
汉英混合
用户名:包括英文小写、汉字、数字、下划线,不能全部是数字,下划线不能在末尾
代码如下 | 复制代码 |
/^[a-z0-9_u4e00-u9fa5]+[^_]$/g utf-8下 preg_match("/^[a-z0-9_x80-xff]+[^_]$/g",$a);gbk下: preg_match("/^[a-z0-9_".chr(0xa1)."-".chr(0xff)."]+[^_]$/",$a) |
utf-8编码
代码如下 | 复制代码 |
|
gbk编码
代码如下 | 复制代码 |
function gbk_str($str){ |
数字中文汉字
代码如下 | 复制代码 |
$username=$_REQUEST['username']; |
is_null(), empty(), isset(),这几个函数以及 == ” , == array() 会在实际操作中经常用到。因为功能很类似,可能会忽视了他们的区别,一不小心就会给工作带来很大的麻烦。下面将这几种结构列出来,供自己和大家参考,鉴于表述的准确性,部分解释来自英文原版手册,避免中文手册的更新不及时以及翻译不当等问题。
is_null()
is_null(),bool,当参数满足 null 的三种情况时, is_null() 将返回 TRUE。
null类型,以下情况将被认定为 NULL:
it has been assigned the constant NULL.
it has not been set to any value yet.
it has been unset().
source:http://cn2.php.net/manual/en/language.types.null.php
isset()
isset(),bool,用于判定参数是否被设定并且不是 NULL。参数只能是变量。
如果没有设置变量,或者变量被 unset() 掉,或者变量值为 NULL ,返回 FALSE,其它情况返回 TRUE。即如果不是 NULL 就属于 isset 的范畴了,这一点和 is_null() 函数正好相反。
如果传递多个参数,将取交集。即所有参数全部符合 isset() 时才返回 TRUE。
ps:defined(),bool,用于检查常量是否被设置。
source:http://cn2.php.net/manual/en/function.isset.php
empty()
empty(),bool, 主要用于判断变量是否为空。参数只能是变量。
如下情况将被判定位空:
代码如下 | 复制代码 |
“” (an empty string) 0 (0 as an integer) 0.0 (0 as a float) “0″ (0 as a string) NULL FALSE array() (an empty array) var $var; (a variable declared, but without a value in a class) |
注:如果参数是未设置的变量,变量将被认定为 NULL,不会报错,返回 TRUE。
但是注意在 5.0.0 之后,Objects with no properties are no longer considered empty.
source:http://cn2.php.net/manual/en/function.empty.php
判定是否为空的方式还有 == ”,== array() 等,比较有局限性,都没什么好说的。
测试的类型如下:
代码如下 | 复制代码 |
<?php ?> empty() 首先是empty的var_dump输出:
程序输出为: 从代码中可以看出,只要数据类型是否为空或假,empty()就输出true。 再看看isset的输出: // 输出 可以看出isset()只能用来判断是否为NULL和未定义。 最后是is_null的输出: // 输出 |
is_null 字面意思了。
由此可见 empty() 可以用来判定所有的数据类型是否为空或假,而 is_null 与 isset 基本一样,只能用来判断是否为NULL和未定义。
概括总结isset,empty,is_null区别:
刚才介绍的:检查变量,以及参数类型,这个是这3个函数不同之处的基础,也是最容易被忽视的。看到网上有很多对这个3个函数进行比较文章。很少涉及这些。下面我要说的,是在都检查已存在变量情况下,不同之处。
代码如下 | 复制代码 |
<?php $a=100; $b=""; $c=null; //isset检查 echo "isset","$a=$a",isset($a)?"define":"undefine","rn"; echo "isset","$b=$b",isset($b)?"define":"undefine","rn"; echo "isset","$c=$c",isset($c)?"define":"undefine","rn"; unset($b); echo "isset","$b",isset($b)?"define":"undefine","rn"; $b=0; echo "rnrn";
//empty检查 echo "empty","$a=$a",!empty($a)?"no empty":"empty","rn"; echo "empty","$b=$b",!empty($b)?"no empty":"empty","rn"; echo "empty","$c=$c",!empty($c)?"no empty":"empty","rn"; unset($b); echo "empty","$b",!empty($b)?"no empty":"empty","rn"; $b=0; echo "rnrn";
//is_null检查 echo "is_null","$a=$a",!is_null($a)?"no null":"null","rn"; echo "is_null","$b=$b",!is_null($b)?"no null":"null","rn"; echo "is_null","$c=$c",!is_null($c)?"no null":"null","rn"; unset($b); echo "is_null","$b",is_null($b)?"no null":"null","rn"; |
原理,就是生成mt_rand随机种子来生成,然后利用相关函数进行读取操作
例1
代码如下 | 复制代码 |
/** /** echo hideString(); |
例2 生成注册码/序列号
以下为引用的内容:
代码如下 | 复制代码 |
<?php /* 配置 */ /* 生成随机数字串 */ /* 过滤重复串并且提取最终需要的CD-Key数量 */ /* 把最终的CD-Key写入文件 */ echo "Create $key_total key succeed!"; /* 随机函数 */ ?> |
执行上面的程序就会生成cd_key.txt文件,里面包含了类似下面的验证码:
以下为引用的内容:
573-225-374-118
691-553-280-280
969-594-607-211
251-575-776-563
280-289-739-533...
这样,就完整的达到了我们的目的,你也可以把以上随机串保存到数据库里,方便调用。灵活设置以上变量,你能够生成16位、20位的验证码。如果你有兴趣,也可以写类似 XDF8F-ADE89-D0J5C-4RTFG之类的验证码
相关文章
- 这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 本篇文章主要分享了通过window.navigator来判断浏览器及其版本信息的实例代码。具有一定的参考价值,下面跟着小编一起来看下吧...2017-01-23
- 本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
- 这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
- 使用 conditional comment 来判断 IE 的版本。嗯,是早早有人提出,但没有认真看代码。昨天刚好在看 CSS3 PIE 的时候看到,觉得是不是不靠谱。今天看到 Paul Irish 也提起,那么,推荐一下吧。这是作者博客上写的:复制代码 代码...2014-05-31
- 大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
- 下面小编就为大家分享一篇c# 判断是否为空然后赋值的4种实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
- 这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
- 这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25- 具体详情请看下文小编给大家带来的知识点。同编写程序类似,存储过程中也有对应的条件判断,功能类似于if、switch。在MySql里面对应的是IF和CASE1、IF判断IF判断的格式是这样的:IF expression THEN commands [ELSEIF ex...2015-10-21
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
废话不多说了,直接给大家贴代码了。<?php class test{} $a1 = null; $a2 = ""; //$a3 = $a4 = 0; $a5 = '0'; $a6 = false; $a7 = array(); //var $a8; $a9 = new test(); for ($i=1; $i <=9 ; $i++) {...2015-11-24- 这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
- 这篇文章主要介绍了微信小程序 网络请求(GET请求)详解的相关资料,需要的朋友可以参考下...2016-11-22
- 这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
- 这篇文章主要为大家详细介绍了微信小程序自定义tabbar组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
- 这篇文章主要介绍了C#判断一个字符串是否是数字或者含有某个数字的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23