php注册表单验证电话号码,PHP表单之表单验证

一、表单安全

1、htmlspecialchars()函数

把特殊字符转换为 HTML 实体。这意味着 < 和 > 之类的 HTML 字符会被替换为 < 和 > 。这样可防止攻击者通过在表单中注入 HTML 或 JavaScript 代码(跨站点脚本攻击)对代码进行利用。

跨站点脚本攻击(Cross Site Scripting):为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。

HTML 实体:HTML 中的预留字符必须被替换为字符实体。如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。 显示结果 描述 实体名称 实体编号

空格

< 小于号 < <

> 大于号 > >

& 和号 & &

“ 引号 " "

‘ 撇号 ' (IE不支持) '

¢ 分 ¢ ¢

£ 镑 £ £

¥ 日圆 ¥ ¥

? 欧元 € €

§ 小节 § §

© 版权 © ©

® 注册商标 ® ®

? 商标 ™ ™

× 乘号 × ×

÷ 除号 ÷ ÷

一个简单的加法器(注意看其中的htmlspecialchars)

2、创建表单验证函数 表单测试 二、表单必填字段 验证规则

Name 必需。必须包含字母和空格。

E-mail 必需。必须包含有效的电子邮件地址(包含 @ 和 .)。

Website 可选。如果选填,则必须包含有效的 URL。

Comment 可选。多行输入字段(文本框)。 表单必填 三、格式匹配

利用正则表达式(Regular Expression)对用户输入的数据进行格式验证。更多有关正则表达式的知识请看正则表达式30分钟入门教程以及正则表达式全部符号解释。

int preg_match ( string $pattern , string $subject );

搜索subject与pattern给定的正则表达式的一个匹配。

Regex quick reference符号 意义

[abc] A single character: a, b or c

[^abc] Any single character but a, b, or c

[a-z] Any single character in the range a-z

[a-zA-Z] Any single character in the range a-z or A-Z

^ Start of line

$ End of line

\A Start of string

\z End of string

. Any single character

\s Any whitespace character

\S Any non-whitespace character

\d Any digit

\D Any non-digit

\w Any word character (letter, number, underscore)

\W Any non-word character

\b Any word boundary character

(…) Capture everything enclosed

(a b)

a? Zero or one of a

a* Zero or more of a

a+ One or more of a

a{3} Exactly 3 of a

a{3,} 3 or more of a

a{3,6} Between 3 and 6 of a

1、匹配姓名

“/^[a-zA-Z ]*$/”

只允许空格和字母,”^”表示开头,”$”表示结尾,[a-zA-Z ]表示a-z或者A-Z或者空格中的一个字符。 $name = test_input($_POST["name"]);if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "只允许字母和空格!"; }

2、匹配E-mail

“/([\w-]+\@[\w-]+.[\w-]+)/”

“\w”匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’;

+匹配前面的子表达式一次或多次;

“-“匹配”-“。

3、匹配URL

“/\b(?:(?:https?|ftp):\/\/|www.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i” 四、保留表单中的值

原理:在input标签中嵌入PHP脚本。

如果type=”text”,那么就嵌入value=””

如果type=”radio”,那么就嵌入

最后写了一个简单的登录表单: 一个简易的登录表单

版权声明:本文为Lshare原创文章,需要转载的请联系我,有问题欢迎评论或私信。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值