您的位置:

qq的php表达式怎么写,php表达式的定义

本文目录一览:

史上最全的PHP正则表达式

一、校验数字的表达式 

1 数字:

^[0-9]*$

2 n位的数字:

^\d{n}$

3 至少n位的数字:

^\d{n,}$

4 m-n位的数字:

^\d{m,n}$

5 零和非零开头的数字:

^(0|[1-9][0-9]*)$

6 非零开头的最多带两位小数的数字:

^([1-9][0-9]*)+(.[0-9]{1,2})?$

7 带1-2位小数的正数或负数:

^(\-)?\d+(\.\d{1,2})?$

8 正数、负数、和小数:

^(\-|\+)?\d+(\.\d+)?$

9 有两位小数的正实数:

^[0-9]+(.[0-9]{2})?$

10 有1~3位小数的正实数:

^[0-9]+(.[0-9]{1,3})?$

11 非零的正整数:

^[1-9]\d*$ 或 ^([1-9][0-9]*){1,3}$ 或 ^\+?[1-9][0-9]*$

12 非零的负整数:

^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$

13 非负整数:

^\d+$ 或 ^[1-9]\d*|0$

14 非正整数:

^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$

15 非负浮点数:

^\d+(\.\d+)?$ 或 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$

16 非正浮点数:

^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 或 ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$

17 正浮点数:

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 或 ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

18 负浮点数:

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 或 ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$

19 浮点数:

^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

二、校验字符的表达式

1 汉字:

^[\u4e00-\u9fa5]{0,}$

2 英文和数字:

^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$

3 长度为3-20的所有字符:

^.{3,20}$

4 由26个英文字母组成的字符串:

^[A-Za-z]+$

5 由26个大写英文字母组成的字符串:

^[A-Z]+$

6 由26个小写英文字母组成的字符串:

^[a-z]+$

7 由数字和26个英文字母组成的字符串:

^[A-Za-z0-9]+$

8 由数字、26个英文字母或者下划线组成的字符串:

^\w+$ 或 ^\w{3,20}$

9 中文、英文、数字包括下划线:

^[\u4E00-\u9FA5A-Za-z0-9_]+$

10 中文、英文、数字但不包括下划线等符号:

^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

11 可以输入含有^%',;=?$\"等字符:

[^%',;=?$\x22]+

12 禁止输入含有~的字符:

[^~\x22]+

三、特殊需求表达式

1、 Email地址:

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

2 、域名:

[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?

3 、InternetURL:

[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%=]*)?$

4 、手机号码:

^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

5 、电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):

^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$ 

6 国内电话号码(0511-4405222、021-87888822):

\d{3}-\d{8}|\d{4}-\d{7}

7 、身份证号:

15或18位身份证:

^\d{15}|\d{18}$

15位身份证:

^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$

18位身份证:

^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$

8、 短身份证号码(数字、字母x结尾):

^([0-9]){7,18}(x|X)?$

^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

9 、帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):

^[a-zA-Z][a-zA-Z0-9_]{4,15}$

10 、密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):

^[a-zA-Z]\w{5,17}$

11 、强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):

^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 

12、 日期格式:

^\d{4}-\d{1,2}-\d{1,2}

13、 一年的12个月(01~09和1~12):

^(0?[1-9]|1[0-2])$

14 、一个月的31天(01~09和1~31):

^((0?[1-9])|((1|2)[0-9])|30|31)$ 

15 、钱的输入格式:

16 、1.有四种钱的表示形式我们可以接受:"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000":

^[1-9][0-9]*$ 

17、 2.这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式:

^(0|[1-9][0-9]*)$ 

18 、3.一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号:

^(0|-?[1-9][0-9]*)$ 

19 、4.这表示一个0或者一个可能为负的开头不为0的数字.让用户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下面我们要加的是说明可能的小数部分:

^[0-9]+(.[0-9]+)?$ 

20 、5.必须说明的是,小数点后面至少应该有1位数,所以"10."是不通过的,但是 "10" 和 "10.2" 是通过的:

^[0-9]+(.[0-9]{2})?$ 

21、 6.这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样:

^[0-9]+(.[0-9]{1,2})?$ 

22、 7.这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样:

^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$ 

23 、8.1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须:

^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$ 

24 、备注:这就是最终结果了,别忘了"+"可以用"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在用函数时去掉去掉那个反斜杠,一般的错误都在这里

25 、xml文件:

^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$

26 、中文字符的正则表达式:

[\u4e00-\u9fa5]

27 、双字节字符:

[^\x00-\xff]

(包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))

28 、空白行的正则表达式:\n\s*\r (可以用来删除空白行)

29 、HTML标记的正则表达式:

(\S*?)[^]*.*?|.*? / (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)

30 、首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)

31 、腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)

32 、中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)

33、 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址时有用)

请写PHP高手帮帮忙!

这个注册页面是我自己以前写的,希望对你有所帮助!

有什么问题你可以来我的baidu空间一起交流!

我的空间地址是:

关于php:

为个是php的运行环境安装:

对了你没事匿名做什么??

那10分加在这题上多好!(*^_^*)

有什么不懂的你可以发消息给我!

?php

/*****************************因时间问题,本因将需要存入数据库中的数据进行格式化,在存储进去

输出时,反转义****************

if(!get_magic_quotes_gpc())//判断php魔术特性是否打开了

{

addslashes();//转义

stripslashes();//反转义

}

**********************************************************************************************************/

session_start();//开始一个会话,检查会话ID是否存在,如果存在将会话ID所属会话变量载入,否则创建一个新的会话ID

//先获取所有的表单值,并去除它们的前后空格

$user= trim($_POST['user']);

$pwd= trim($_POST['pwd']);

$pwd2= trim($_POST['pwd2']);

$email=trim($_POST['email']);

$yzm= trim($_POST['yzm']);

$redio= trim($_POST['redio']);

$quzi= trim($_POST['quzi']);

$answer=trim($_POST['answer']);

$name= trim($_POST['name']);

$sex= trim($_POST['sex']);

$date= trim($_POST['year']).trim($_POST['month']).trim($_POST['day']);

$qq= trim($_POST['qq']);

$diqu= trim($_POST['diqu']);

echo "ol class='tishi'";

/**************************注:在这里,只要一有错识就给$error就赋上一个值,省的还要将有可能出错的**********************/

if(!empty($_POST['submit']))//如果按钮不为空

{

if(!empty($user)!empty($pwd)!empty($pwd2)!empty($email)!empty($yzm)!empty($redio))//如果六个必埴项都不为

{

if(strlen($user)4||strlen($user)18)//如果$user的字符长度小于"4" 或 大于"18"

{

echo "li用户名,输入范围不得小于4个字符或大于18个字符/libr";

$error="I\'ve found still another mistake"; //有错误$error赋值

}

else //否则,即$user的字符长度大于"4" 或 小于"18"

{

require("lookup_user.php");//包含一个文件

if($count0)//如果$count的值大于"0"

{

echo "font color='red'对不起,该用户名已存在!/font";

$error="I\'ve found still another mistake";

}

mysql_close($link);//关闭连接

}

/************ 必选项验证 **********/

if($pwd!=$pwd2)//验证密码是否相同

{

echo "li对不起两次输入的密码不相同!/libr";

$error="I\'ve found still another mistake";

}

function str_len($object,$write)//要使用好几次,写个函数节省代码

{

if(!empty($object)) //必选项和可选项都可以进入到这里的,而可选项是可以为空(不填)的,所以要判断一下!

{

if(strlen($object)4||strlen($object)18)//如果形参小于"4" 或者 大于"18"

{

echo "li".$write.",输入范围不得小于4个字符或大于18个字符/libr";

$error="I\'ve found still another mistake";

}

}

}

str_len("$pwd","密码");//调用函数

str_len("$pwd2","确认密码");

if(!eregi('^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$',$email))//用正则表达式来检查eamil的格式

{

echo "li您的电子邮件格式输入错误,请输入有效的电子邮件!/libr";

$error="I\'ve found still another mistake";

}

if($yzm!=$_POST['hidden_yzm'])//检查验证码输入是否错误

{

echo "li对不起你的验证码输入错误!/libr";

$error="I\'ve found still another mistake";

}

if($redio!="yes")//没有同意协议

{

echo "li你不同意使用许可协议,注册无法进行!/libr";

$error="I\'ve found still another mistake";

}

/*********************************** 可选项验证 **********************************************/

echo str_len($quiz,"密码提示问题");//调用函数

echo str_len($answer,"密码回答问题");

echo str_len($name,"姓名");

if($quiz==$answer)//为了安全性,密码提示问题和密码回答问题的值,不应该相同

{

echo "li密码提示问题和密码回答问题的值,不应该相同!/li";

$error="I\'ve found still another mistake";

}

if(!empty($qq))//可选项要判断是否为空

{

if(!eregi('^[0-9]+$',$qq))//用正则表达式来检查qq的格式

{

echo "liQQ号必须为(0-9)之间的数字!/li";

$error="I\'ve found still another mistake";

}

}

echo "/ol";

}

else//必选项只要有一个为空

{

echo "font size='3 'color='red'用户信息必填项没有填写完整!/font";

$error="I\'ve found still another mistake";

}

}

?

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ""

html

head

meta http-equiv="Content-Type" content="text/html; charset=gb2312"

title/title

style type="text/css"

!--

div {

font-family: "宋体";

font-size: 12px;

font-style: normal;

line-height: normal;

font-weight: normal;

font-variant: normal;

color: #000000;

}

.style4 {color: #FF0000}

.tishi {

font-family: "宋体";

font-size: 14px;

font-weight: bold;

color: #FF0000;

}

.style6 {color: #FF0000; font-size: 14px; }

--

/style

/head

body

form name="form1" method="post" action=""

table width="87%" height="329" border="0" align="center" cellpadding="0" cellspacing="1" bordercolor="#D4D0C8"

tr bgcolor="#CCCCCC"

td colspan="2"div align="center"

h2注册页面 /h2

/div/td

/tr

tr bgcolor="#CCCCCC"

td colspan="2"div align="center"strong 为了密码的安全,请仔细填写(区分大小写)!请注意栏目后加 "span class="style4"*/span"为必填项/strong/div/td

/tr

tr bgcolor="#CCCCCC"

td colspan="2"div align="center" class="style4"必填项没填写完整,注册无法进行!/div/td

/tr

tr bgcolor="#CCCCCC"

td width="13%"div align="right"用户名:/div/td

td width="87%"

div align="left"

input name="user" type="text" id="user" size="25" maxlength="18" ?php if(!empty($user)) echo "value=".$user;?

(字符数:4-18之间)span class="style4"*/span

input type="submit" name="lookup" value="检查用户名是存在"

?php

//在数据库中查找用户是否存在

if(!empty($_POST['lookup']))//如果检查用户名按钮不为空

{

if(strlen($user)4||strlen($user)18)//如果$user的字符长度小于4 或 大于18

{

echo "font color='red'用户名,输入范围不得小于4个字符或大于18个字符/font";

$error="I\'ve found still another mistake";

}

else

{

require("lookup_user.php");//包含一个文件

if($count0)//如果$count大于"0"

{

echo "font color='red'对不起,该用户名已存在!/font";

$error="I\'ve found still another mistake";

}

else//否则,即$count小于"0"

{

echo "font color='red'该用户名可用!/font";

}

mysql_close($link);//关闭连接

}

}

?

/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"密码: /div/td

td div align="left"

input name="pwd" type="password" id="pwd" size="25" maxlength="18"

!--如果$pwd不为空,就将它设为表单的初始值,以下雷同!--

(字符数:4-18之间)span class="style4"*/span

input name="hid_pwd" type="hidden" ?php if(!empty($pwd)) echo "value=".$pwd;?

/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"确认密码:/div/td

td

div align="left"

input name="pwd2" type="password" id="pwd2" value="" size="25" maxlength="18"

(字符数:4-18之间)span class="style4"*/span/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"密码提示问题:/div/td

td

div align="left"

input name="quiz" type="text" id="quiz" size="25" maxlength="18" ?php if(!empty($quiz)) echo "value=".$quiz;?

(字符数:4-18之间,一个汉字2个字符数.)/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"密码回答问题:/div/td

td div align="left"

input name="answer" type="text" id="answer" size="25" maxlength="18" ?php if(!empty($answer)) echo "value=".$answer;?

(字符数:4-18之间,不要与密码提示问题相同)/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"姓名:/div/td

td

div align="left"

input name="name" type="text" id="name" size="10" maxlength="18" ?php if(!empty($name)) echo "value=".$name;?

(字符数:4-18)/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"性别:/div/td

td

div align="left"

input name="sex" type="radio" value="男" checked ?php if(!empty($sex)=="男") echo "value=".$sex;?

input type="radio" name="sex" value="女" ?php if(!empty($sex)=="女") echo "value=".$sex;?

女/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"出生日期:/div/td

td

div align="left"

select name="year" id="year"

?php

for($year=1900;$year=2007;$year++)

{

?

option value="?php echo $year;?" ?php if($year==date('Y')) echo "selected";??php echo $year;?/option

?php

}

?

/select

select name="month" id="month"

?php

for($month=1;$month=12;$month++)

{

if($month10){ $month="0".$month;}//如果$month小于10就给$month前面加一个"0"

?

option value="?php echo $month;?" ?php if($month==date('m')) echo "selected";??php echo $month;?/option

?php

}

?

/select

select name="day" id="day"

?php

for($day=1;$day=31;$day++)

{

if($day10){ $day="0".$day;}

?

option value="?php echo $day;?" ?php if($day==date('d')) echo "selected";??php echo $day;?/option

?php

}

?

/select

/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"QQ号:/div/td

td

div align="left"

input name="qq" type="text" id="qq" size="25" maxlength="11" ?php if(!empty($qq)) echo "value=".$qq;?

/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"地区:/div/td

td

div align="left"

input name="diqu" type="text" id="diqu" ?php if(!empty($diqu)) echo "value=".$diqu;?

/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"电子邮件:/div/td

td

div align="left"

input name="email" type="text" id="email" size="25" ?php if(!empty($email)) echo "value=".$email;?

(请正确填写电子邮件,注意大小写,用于密码遗失找回!)span class="style4"*/span/div/td

/tr

tr bgcolor="#CCCCCC"

tddiv align="right"验证码:/div/td

tddiv align="left"

span class="style6"

?php

require("verify.php");

$hidden_yzm = createValidate();

echo $hidden_yzm;

?

input type="hidden" name="hidden_yzm" size="16" value="?php echo $hidden_yzm;?" maxlength="5"!--将验证码值设置成隐含域的值,以便传递值--

/span

/div/td

/tr

tr bgcolor="#CCCCCC"

td height="18"div align="right"验证码:/div/td

td

div align="left"

input name="yzm" type="text" id="yzm" size="5" maxlength="5"

(请按照上面显示的字母与数字输入附加码!)span class="style4"*/span

/div/td

/tr

tr bgcolor="#CCCCCC"

td colspan="2" div align="center"我已经阅读a href="confer.htm" target="_blank"《网站》最终用户使用许可协议/a/div/td

/tr

tr bgcolor="#CCCCCC"

td height="27" colspan="2" div align="center"

input name="redio" type="radio" value="yes" checked

我同意该协议议

input name="redio" type="radio" value="no"

我不同意该协 span class="style4"*/span/div/td

/tr

tr bgcolor="#CCCCCC"

td colspan="2"

div align="center"

input type="submit" name="submit" value="提交"

input name="reset" type="reset" id="reset" value="取消"

/div/td

/tr

/table

/form

?php /****************在另一个页面中插入数据,安全,快速******************/

if(!empty($_POST['submit']))//只有点击提交之后,才执行所输值的检查,所以一定要加上这一句

{ //一定要加如果不加

if($error!="I\'ve found still another mistake")//如果没有任何错误

{

$_SESSION['userinfo']="符合条件";//就给$_SESSION['userinfo']赋上一个值,以便在另一个页面判断输入的值是否完全正确

echo "script language='javascript'document.form1.action='success.php';document.form1.submit();/script";

}//使用js代码改变表单的action,然后将表单的值提交

}

?

/body

/html

PHP 帮忙写个正则表达式 判断QQ邮箱格式

$qqmail='33555555@qq.com';

if(preg_match('|^[1-9]\d{4,10}@qq\.com$|i',$qqmail)){

echo $qqmail,' 是qq邮箱';

}else{

echo $qqmail,' 不是qq邮箱';

}