JSP之邮箱检验
首先创建Email类继承Serializable接口以启用其序列化功能,而序列化又是为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。序列化接口没有方法或字段,仅用于标识可序列化的语义。方法是通过java.io.Serializable来实现,没有实现此接口的类将不能使它们的任一状态被序列化或逆序列化,其实我写的时候没有"private static final long serialVerionUID = 1l;"就出现了空指针问题,所以在这里要注意一下Serializable接口。其实,以我的理解Serializable就是java提供的通用数据保存和读取的接口,任何类型实现了Serializable接口,就可以保存到文件中,或者作为数据流通过网络发送到其他的文件或者程序中,极大地简化了类的设计。
package com.caiduping.bean;
import java.io.Serializable;
public class Email implements Serializable {
@SuppressWarnings("unused")
//Serialization(序列化)是一种将对象以一连串的字节描述的过程
//serialVersionUID 变量名
private static final long serialVerionUID = 1l;
//Email地址
private String mailAdd;
//是否是一个标准的email地址
private boolean email;
public Email(){
}
public Email(String mailAdd){
this.mailAdd = mailAdd;
}
//检验邮箱格式
public boolean isEmail(){
String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
if(mailAdd.matches(check)){
email = true;
}
return email;
}
public String getMailAdd(){
return mailAdd;
}
public void setMailAdd(String mailAdd){
this.mailAdd = mailAdd;
}
}
首页面index.jsp:
<form id="form1" name="form1" method="post" action="result.jsp">
<div align="center">
<table width="530" border="1">
<tr>
<td colspan="2"><div align="center"><span class="STYLE1">邮箱认证系统</span></div></td>
</tr>
<tr>
<td width="293"><div align="center"><span class="STYLE2">邮箱地址:</span></div></td>
<td width="221"><label>
<input type="text" name="mailAdd" />
</label></td>
</tr>
<tr>
<td colspan="2"><label>
<div align="center">
<input type="submit" name="Submit" value="提交查询内容" />
</div>
</label></td>
</tr>
</table>
</div>
</form>
最后再写结果result页面result.jsp:
<%
String mailAdd = request.getParameter("mailAdd");
Email email = new Email(mailAdd);
if(email.isEmail()){
out.print(mailAdd+"<br>是一个标准的邮箱地址!<br>");
}else{
out.print(mailAdd+"<br>不是一个标准的邮箱地址!<br>");
} %>
<a href="index.jsp">返回</a>
运行效果图:

JSP之邮箱检验的更多相关文章
- 非正则表达式检验邮箱格式是否合法(Java代码实现)
一.邮箱格式需满足以下要求 1. 有且只有一个@ 2. @不能放在开头,也不能放在结尾 3. @之后必须有. ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- struts2学习笔记--使用Validator校验数据
我们在进行一些操作是需要对用户的输入数据进行验证,比如网站的注册,需要对各个数据项进行数据校验,Struts2提供了一些默认的校验器,比如数字的检测,邮箱的检测,字符串长度的检测等等. 常用的Vali ...
- xss和sql注入原理学习
8.4 Web跨站脚本攻击 8.4.1 跨站脚本攻击的原理(1) 跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS.但是,由于层叠样式表 (Cascading Style ...
- java验证码组件kaptcha使用方法
使用方法: 项目中导入kaptcha-2.3.jar包在web.xml里面新增: <!-- 登陆验证码Kaptcha --> <servlet> <s ...
- The import java.util cannot be resolved The import javax.servlet cannot be resolved
The import java.util cannot be resolved 原因:这是由于你的项目buildpath不对 解决方案:右键项目-------buildpath--------最下面那 ...
- java web 程序---购物车项目内容:
1.项目介绍 典型电子商务系统(在线购物平台).模拟了当当系统部分功能.2.功能需求 1)用户管理模块(3天)user 实现登录.注册功能 2)产品浏览模块(2天)ma ...
- SQL注入和XSS攻击的原理
8.4 Web跨站脚本攻击 8.4.1 跨站脚本攻击的原理(1) 跨站脚本在英文中称为Cross-Site Scripting,缩写为CSS.但是,由于层叠样式表 (Cascading Style ...
- 2016/2/25 1、<表单验证<form></form> 2、正则表达式 3、事件
1.<表单验证<form></form> (1).非空验证(去空格) (2).对比验证(跟一个值对比) (3).范围验证(根据一个范围进行判断) (4).固定格式验证:电 ...
随机推荐
- Socket编程学习之道:揭开Socket编程的面纱
对TCP/IP.UDP.Socket编程这些词你不会非常陌生吧?随着网络技术的发展.这些词充斥着我们的耳朵. 那么我想问: 1. 什么是TCP/IP.UDP? 2. S ...
- Cocos2d-x 3.0 动作
http://blog.csdn.net/lnb333666/article/details/16858635 //运行一个action动作对象 runAction("action对象&qu ...
- SAO总结
Application Structure Web App-------------------------------------------------------------->Serve ...
- Android自定义长按事件
Android系统自带了长按事件,setOnLongClickListener即可监听.但是有时候,你不希望用系统的长按事件,比如当希望长按的时间更长一点的时候.这时候就需要自己来定义这个长按事件了. ...
- 教你用Cocosdx导出安卓安装文件(.apk)(一)
我也是刚弄出来,过程可能有点混乱和不具体,我尽我所能写完整.各位看官多多包涵 设备环境: 我所用的是mac 10.8.5 64位 Cocosdx-3.0rc2 xcode 5.0 一.准备 ND ...
- System.setProperty()
/* * 设置指定键对值的系统属性 * setProperty (String prop, String value); * * 參数: * prop - 系统属性的名称. * value ...
- 条件判断语句if
一.简单if语句的格式 if 条件表达式 then 语句1 语句2 ...... fi 二.if else语句的格式 if 条件测试 then 语句块1 else 语句块2 fi 三.if elif ...
- 被淡忘的c#析构函数
析构函数在C#中已经很少使用了,以至于很多人已经把它淡忘了,虽然用处不大,研究一下也无防.(原文:http://bbs.csdn.net/topics/300178463)一. 析构函数的特征:析构函 ...
- C/C++的参数传递机制
近来公司招人较多,由此面试了非常多的C++程序员.面试时,我都会问到参数传递的相关问题,尤其侧重指针.因为指针毕竟是C/C++最重要的一个优势(在某种情况下也可以说是劣势).但其结果是,1/3的人基本 ...
- How to solve the SVDI SN Number Display Problem
Yesterday we have learn how to find the SVDI Serial Number, today one of customer from UK look our a ...