jsp表单验证大全

表单验证

  表单验证,可分为:

n 在服务器端验证表单

n 在客户端验证表单

 

在服务器端验证表单,是指通过内置对象request获取客户端通过表单提交的数据后,进行验证。

 

在客户端验证表单,是指在客户端的浏览器对用户输入的信息进行合法性验证,如用户名或密码是否为空,电子邮件是否含有“@”和“.”等字符,身份证号码是否为数字或字母等。

       如果客户端输入的信息不符合规则或不合法,浏览器则提示用户进行修改,而不会直接发送给服务器,这样使得客户端信息验证能够有效减轻服务器的负担和网络通信的压力。

       在进行表单验证时,经常使用正则表达式。

 

    注意:对于一般的表单验证,尽量在客户端完成,在提交表单之前完成,不要提交表单之后,在服务器端完成,以便减轻服务器的负担和网络通信的压力。

 

1. 正则表达式

(1) 什么是正则表达式 ?

正则表达式是一种功能强大而灵活的文本处理工具。

 

(2) 正则表达式的主要作用

正则表达式主要用于:验证字符串,即检验输入的字符串是否符合给定的模式。

例如,验证输入的电话号码、手机号码、身份证号码等是否符合给定的模式。

 

(3) 正则表达式中的特殊字符

正则表达式用来描述特定的字符串模式,例如正则表达式“a{3}”表示由三个字符“a”构成的字符串,相当于普通字符串“aaa”;正则表达式“\d”表示任意一个数字字符。在正则表达式中,有些字符具有特殊的含义,如下表所示。

 

正则表达式中的特殊字符

特殊字符

描  述

.

表示任意一个字符

|

表示或者的意思。例如:“a|b”表示a,或者b。

^

^ab,表示以ab开始的串。

$

xy$,表示以xy结尾的串。

[abc]

表示a、b或c中的任意一个字符

[^abc]

表示除a、b、c以外的任意一个字符

[a-z]

介于a到z中的任意一个字符

[A-Z]

介于A到Z中的任意一个字符

[a-zA-Z]

介于a到z,或A到Z中的任意一个字符

-

与[]结合使用,表示一段字符的范围。例如:

[a-z],表示介于a到z中的任意一个字符。

\s

空白符(空格、tab、回车、换行)

\S

非空白符

\d

0到9的任意一个数字,等同于[0-9]

\D

非数字,等同于[^0-9]

\w

一个字符,可以是字母、数字或下划线,

等同于[a-zA-Z_0-9]

\W

一个字符,不能是字母、数字或下划线,

等同于[^a-zA-Z_0-9]

 

 

 (4) 正则表达式中表示字符出现次数的符号

在正则表达式中,还可以通过一些特殊符号来表示字符出现的次数,如下表所示。

正则表达式中表示字符出现次数的符号

特殊字符

描  述

*

0次或者多次

+

1次或者多次

?

0次或者1次

{n}

恰好n次

{n, m}

至少n次,不多于m次。

 

 

(5) 一些常用的正则表达式

常用的正则表达式

正则表达式

描  述

^\d+(\.\d+)*$

数字

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

正整数

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

浮点数

[\u4e00-\u9fa5]

中文字符

^[a-zA-Z0-9]+$

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

(\S)+[@]{1}(\S)+[.]{1}(\w)+

E-mail地址

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

国内电话号码

^[0-9]{6}$

邮政编码

^[0-9]{11}$

手机号码

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

身份证号码

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值