1 正则表达式
判断数据是否符合规范
可以在线测试的:http://tool.oschina.net/regex
preg_match(
paterrn,
str);判断是否匹配
preg_replace(
pattern,
replace,
str);将符合的部分替换为
replace,其中()内为一部分
. 此处占有一个字符
* 匹配前面的>=0个字符
+ 匹配前面的>=1个字符
? 匹配前面的0个或者1个字符
[abc,,] 匹配1个字符
(a|b|c) 匹配一个,对于|在最外边加(),不用每个都加,例如(abdk|abd'fj)这样
{n} 匹配前面的n个字符
{n,m} 匹配前面的至少n个字符,小于m个
{n,} 匹配前面的>=n个字符
\ 转义
\w [0-9a-zA-Z]还有下划线,外文
\d [0-9]
\s 空白字符
() 是为了提取匹配的字符串。表达式中有几个()就有几个相应的匹配字符串。
(a|b\c)? 匹配圆括号内0次或者1次
.* 匹配任何字符或者空白
邮箱
根据规则来:邮箱名可能包含-+.这样的字符,可以将\w放在[]中
\w+[\w+-.]*@[a-zA-Z0-9]+\.[a-zA-Z]{2,14}匹配 144-12.+@163.com
ip4
/^((\d{1,2}|1\d{2,3}|2[0-4]\d|25\d){1}.){3}(\d{1,2}|1\d{2,3}|2[0-4]\d|25\d)$/
验证身份证号(15位或18位数字)
/^\d{15}|\d{18}$/
非0负整数
/^-[1-9]\d*$/”;
验证用户密码:以字母开头,长度在6~18之间,只能包含字符、数字和下划线
/^[a-zA-Z][a-zA-Z0-9_]{5,17}$/
验证是否含有^%&’,;=?$\”等字符, 这一特殊意义的字符要加上\
/[\^%&’,;=?\$\”]+/ 这样^前面加上转义
正数、负数、和小数
/^-? \d+( .\d+)?$/
浮点数
/^-?\d+.\d+$/
开头或结尾有空白\s
/(^\s.*|.*\s$)/
用户名:中文
[A-Za-z0-9_-\u4e00-\u9fa5]+
URL
^((https|http|ftp|rtsp|mms)?:\/\/)([a-zA-Z0-9-.]/)[a-zA-Z]*
贪婪匹配和非贪婪匹配
对于量词,例如{n,m} {n,} + ? *
贪婪匹配:在匹配成功的情况下,尽可能多的匹配;
非贪婪匹配:忽略量词,在量词后面加上? 。在匹配成功的情况下,尽可能少的匹配;
转义:
addslashes 往数据库中传送数据,对于预定义的符号(’” null \)加上\转义
htmlspecialchars 将字符串转为html实体,对于预定义的符号(下面五种)转换为html实体。
& (和号) 成为&
” (双引号) 成为"
’ (单引号) 成为'
< (小于) 成为<
(大于) 成为>可以防止XSS攻击。