Java Web基础:第十四讲 客户端验证的常用方法

Java Web应用中获取客户端的真实IP地址 阅读详情

 

本文内容摘自:《Java Web 开发教程——入门与提高篇(JSP+Servlet )》第53-55 页。
本文总结了一些使用JavaScript 进行客户端验证的一些常用方法,需要的时候可以直接放到自己的代码中。如何调用这些方法可以参见上一讲。
非空验证
    // 验证是否是空
    function isNull(str)
    {
        if(str.length==0)
            return true;
        else
            return false;
    }
字符串长度验证
    // 验证是否满足最小长度
    function minLength(str,length)
    {
        if(str.length>=length)
            return true;
        else
            return false;
    }
    // 判断是否满足最大长度
    function maxLength(str,length)
    {
        if(str.length<=length)
            return true;
        else
            return false;
    }
日期验证
    // 判断是否是日期,日期的格式为1988-1-1
    function isDate(date)
    {
        // 查找分隔符
        index1 = date.indexOf("-");
        // 如果分隔符不存在,则不是合法的时间
        if(index1 == -1)
            return false;
        // 获取时间中的年
        year = date.substring(0,index1);
        // 获取时间中的剩下部分
        date = date.substring(index1+1);
        // 查找第二个分隔符
        index1 = date.indexOf("-");
        // 如果不存在第二个分隔符,则不是合法的时间
        if(index1 == -1)
            return false;
        // 获取时间中的月份
        month = date.substring(0,index1);
        // 获取时间中的日
        day = date.substring(index1+1);
        // 判断是否是数字,如果不是则不是合法的时间
        if(isNumber(year) && isNumber(month) && isNumber(day))
        {
            // 判断基本范围
            if(year<1900 || year>9999 || month<1 || month >12 || day<1)
                return false;
            // 判断31 天的月
            if((month==1 || month==3 || month==5 || month==7
            || month==8 || month==10 || month==12) && day>31)
                return false;
            // 判断30 天的月
            if((month==4 || month==6 || month==9 || month==11)
                && day>30)
                return false;
             // 如果是2 月,判断是否为润年
            if(month==2)
            {
                if(year%400==0 || (year%4==0 && year%100!=0))
                {
                    if(day>29)
                        return false;
                }else
                {
                    if(day>28)
                        return false;
                }
            }
        }
        else
            return false;
        return true;
    }
数字验证
    // 判断是否是整数
    function isNumber(str)
    {
        for(i=0;i<str.length;i++)
        {
            // 每一位都是0 到9 的数字,如果是第1 位,可以是“- ”号
            if(str.charAt(i)>='0' && str.charAt(i)<='9'
                || str.charAt(i)=="-" && i==0)
                continue;
            else
                return false;
        }
        return true;
    }
Email格式验证
    // 判断是否是Email
    function isEmail(email)
    {
        if(email.length==0)
            return false;
        index1 = email.indexOf('@');
        index2 = email.indexOf('.');
        if(index1 < 1              // @ 符号不存在,或者在第一个位置
        || index2 < 1          // . 符号不存在,或者在第一个位置
        || index2-index1 <2    // . 在@ 的左边或者相邻
        || index2+1 == email.length) // . 符号后面没有东西
            return false;
        else
            return true;
}
 
李绪成 优快云 Blog : http://blog.youkuaiyun.com/javaeeteacher
Java Web短信验证功能的实现方法 市场中存在大量的短信服务提供商,他们提供了各种各样的服务。通常,选择短信服务商需要考虑以下几个方面:服务质量:稳定性和成功率是首要考虑的因素,服务商的发送到达率直接影响用户体验。价格:不同服务商的价格不尽相同,通常根据发送量、地域等因素定价。功能特性:一些服务商提供高级功能,如多级签名、状态回执、IP限制、模板管理等。支持的国家和地区:服务商支持的发送目的地覆盖范围。API的易用性:API文档的清晰度、示例代码的完备性、SDK支持等。客户支持和服务。 阅读详情

相关推荐

windows10家庭版输入loadrunner注册码时报“License security violation. Operation isnot allowed”的解决办法

有可能出现2个错误第一个可能是第二个可能是“License security violation. Operation isnot allowed”ok,在此我在百度找了很多方法,大部分的方法都是删除注册表,但我根本就找不到这个注册表,而后又是管理中心找本地用户和组,但我依旧找不到这个玩意,然后可能是windows10家庭版本来就没有这个。再然后又以管理员身份去运行填写,好的,依旧报错,依旧未解决...

qq_30990097的博客 2560

数据验证

用户输入一般书 随意的,为了保证数据的合法性,数据校验时所有web应用都必须处理的问题。 在spring MVC中有两种方法 1、利用spring自带的验证控件 2、JSR303 1、数据验证概述 数据验证分为客户端验证和服务的验证,客户端验证主要时过滤正常用户的误操作, 通过javascript代码完成;服务器端验证是整个应用阻止非法数据的最后防线。 1、客户端验...

weixin_33984032的博客 616

Win10更新后黑屏只剩鼠标?火绒误杀explorer.exe的5种自救方案(附详细步骤)

本文详细介绍了Win10更新后出现黑屏只剩鼠标的5种专业修复方案,重点解决火绒误杀explorer.exe的问题。从基础的任务管理器操作到安全模式下的系统修复,再到注册表编辑和系统还原,提供了全面的解决方案,帮助用户快速恢复系统正常运行。

weixin_29306571的博客 640

客户端的表单验证

在客户端表单验证是必需的-这样可以节省时间和带宽,并为您提供更多的选择,指出到,他们已经在填写表格出了错用户。 说了这么多,我的意思并不是说你不需要服务器端验证。 谁访问您的网站的人可能使用旧的浏览器或禁用了JavaScript,这将打破仅客户端验证。 客户端和服务器端验证相得益彰,正因为如此,他们真的不应该单独使用。 为什么客户端验证好? 有两个很好的理由来使用客户端验证: 这是验证的快...

302

基于ANSYS的电磁兼容仿真教程

最近,在做某系统的EMC仿真,使用ANSYS套件,对仿真学习做简要记录。本书简介与目录如下:本书配套有:视频教程+工程源文件+彩色仿真图片,下载链接如下:(审核中)第1章 基础知识1.1 电磁兼容基础​​​MS2、EMC三要素:3、 国际无线电干扰特别委员会标准:CISPR标准4、电磁兼容测试认证:传导发射(CE)、传导敏感度(CS)、辐射发射(RE)和辐射敏感度(RS)测试。

weixin_42508010的博客 2059

Cocos Creator+微信小游戏:如何用wxDownloader实现资源动态加载与热更新

本文深入探讨了在Cocos Creator开发微信小游戏时,如何利用wxDownloader有效应对主包体积限制,实现资源的动态加载与热更新。文章详细介绍了从项目配置、资源标记到初始化加载的完整流程,并重点解析了基于MD5 Cache的缓存策略与版本控制方案,旨在帮助开发者构建稳健高效的资源管理体系,优化游戏启动速度与更新体验。

css33的专栏 825

javascript服务器端验证_javascript简介

javascript诞生于1995年。当时,它的主要目的是处理以前由服务器端语言(如php)负责的一些输入验证操作。在javascript问世之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必须域,是否输入了无效的值。Netscape Navigator希望通过javascript来解决这个问题。在人们普遍使用电话拨号上网的年代,能够在客户端完成一些基本的验证任务绝对是令人兴奋的。...

weixin_39561168的博客 220

Codex接入CCSwitch:本地代理与模型路由配置指南

在AI编程工具链中,本地代理与模型路由是连接智能体与模型服务的核心桥梁。Codex作为OpenAI推出的编程智能体,虽然具备强大的仓库理解和自主编码能力,但其默认模型链路固定,导致在多模型切换、内网统一管理及成本控制上存在天然瓶颈。CCSwitch正是为解决这一痛点而生的本地代理工具,它通过OpenAI兼容协议将Codex的请求透明转发至DeepSeek、通义千问等第三方模型服务,使模型切换如同点击按钮般简单。本文从本地代理和模型路由器的基础原理切入,系统讲解Codex与CCSwitch的安装配置、模型ID

weixin_33910460的博客 428

你知道吗?OAuth2客户端有两种,认证方式有七种。

OAuth2客户端按照它们与授权服务器进行安全认证的能力可以分为机密类型(Confidential)和公共类型(Public)。机密类型的自身会有个密码凭据,比如Web服务器后端程序;而公共类型则没有密码凭据,纯浏览器前端应用或者移动客户端应用大都属于这一种类型。不管是哪一种,它们都有客户端ID(client_id)。关注星标、转发、点赞、再看,请以实际行动支持原创技术分...

码农小胖哥 2942

AMBA-CHI协议详解(一)

CHI体系结构是一种可扩展、一致性的集线器接口和片上互联,可由多个组件使用。CHI体系结构允许根据性能、功耗和面积系统要求灵活地进行组件连接拓扑。硬件一致性使系统组件能够共享内存,而无需维护软件缓存以保持一致性。如果两个组件对同一存储器位置的写入可被所有组件以相同的顺序观察到,则存储器区域是一致的。

Crazzy_M的博客 1万+

GPU硬件架构与微架构深度解析09-GPU寄存器文件深度解析

本文探讨GPU架构中大规模寄存器堆的设计与高效分配算法。寄存器文件作为GPU关键组件,支持大规模线程并行和快速数据存取。文章分析了多体寄存器堆的设计考量,包括端口数量、冲突避免和功耗管理,并比较了线性扫描、图着色等寄存器分配算法的特点。还介绍了寄存器压缩、动态分区等高级优化技术,以及NVIDIA Ampere架构的实际案例。这些技术对提升GPU计算性能和能效至关重要。

2301_79143213的博客 121

客户端验证:validation

validation客户端验证的问题 在struts 的验证里,要注意如下几点 <html:form action="/ createUser" οnsubmit=“return validateUserForm(this);”> 格式为 return validate + formbean名称(首字母大写) + (this)用来在提交本页面时执行相应的js验证代码。 ② 用来生成本页面的 js 验证代码。 有两种方法: ⑴ 在页面上声明 <%@ taglib uri=“http://st

ysw748758529的博客 405

用 ABAP CDS View 把数据稳定抽到 SAP BW/4HANA:从 ODP 架构到增量机制的落地实践

本文探讨了SAP数据仓库中从业务系统抽取数据到SAP BW/4HANA的最佳实践,重点分析了基于ABAP CDS视图的抽取方法。文章指出CDS视图通过注解可实现元数据描述、增量机制的统一管理,替代传统抽取器。详细介绍了ODP架构如何作为抽取基础设施,以及从CDS到BW的完整链路。同时比较了三种增量抽取方式(BW管理时间戳、ODP通用增量、CDC触发器)的适用场景和注意事项,并强调版本兼容性和云环境连接差异对实施的影响。通过实际案例说明合理选择增量策略对数据仓库稳定性的重要性。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 332

Java Web基础:第十三讲 客户端验证

李绪成的一亩三分地 2089

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java Web基础:客户端验证

本文转载自李绪成老师的笔记,感谢李老师!Web应用中必须在客户端对输入信息进行验证,如果发现错误可以及时对用户进行反馈,也不用等到服务器发现之后再反馈,一方面是减少了用户的等待时间,另一方面减少不必要的交互过程。本节内容介绍如何使用JavaScript完成客户端的验证。JavaScript语言在Web应用中需要在客户端执行的功能可以使用JavaScript语言编写,在使用的时候需要把J

投机风清扬的专栏 999

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Java Web基础

Java Web 是指使用 Java 语言开发 Web 应用程序的一系列技术和框架的总称。Java Web 涉及到前端和后端的知识,通常包括 Servlet、JSP、JSTL、MVC 模式、Web 容器、Spring 框架等。

一同进步 2436

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java Web基础:第十六讲 客户端验证的例子

李绪成的一亩三分地 1927

.net 客户端调用java或.net webservice进行soapheader验证

.net 客户端调用java或.net webservice进行soapheader验证 最近项目中有业务需要跨平台调用web服务,客户端和服务器之间采用非对称加密来保证数据的安全性,webservice的安全验证基于soapheader。 借此机会,顺便整理一下调用.net webservice 和 java webservice 的验证方式,记录下来。 .net端web服务 1...

weixin_33851429的博客 964

Web功能测试常用方法

基于Web 的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web 的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。

OKCRW的博客 965

Java Web验证码

1 验证码生成类RandomCode RandomCode是一个生成验证码的工具类,支持英文和数字验证码,验证码包括英文大小写和数组,其中英文i、o和数字0、1因为容易产生混淆,不包括在生成验证码中。RandomCode支持输出jpg/bmp/png/gif图片格式的验证码。 /** * RandomCode验证码可以通过静态方法和实例方法生成。 * * 静态方法: * *

达拉斯母牛 1450

WSDL自动生成Web Service java 客户端

引用:          最近做系统间数据导入导出时需要用到web service,所以需要通过wsdl生成java客户端来读取数据。 方法一: 使用xfire eclipse plugin生成java客户端 1 安装xfire eclipse plugin,update site: Java代码   http://dist.codehaus.org/xfi

cqboy1991的专栏 3168

java身份认证_Java Web Service客户端基本身份验证

Java Web Service客户端基本身份验证我在Glassfish之上创建了一个JAX-WS Web服务,它需要基本的HTTP身份验证。现在,我想为该Web服务创建一个独立的Java应用程序客户端,但是我不知道如何传递用户名和密码。它可以与Eclipse的Web Service资源管理器一起使用,并检查连接线,我发现了这一点:POST /SnaProvisioning/SnaProvisio...

weixin_35473090的博客 940

java入职学习九之客户端验证:Validation

validation客户端验证的问题 在struts 的验证里,要注意如下几点 <html:form action="/ createUser" οnsubmit=“return validateUserForm(this);”> 格式为 return validate + formbean名称(首字母大写) + (this)用来在提交本页面时执行相应的js验证代码。 ② 用来生成本页面的 js 验证代码。 有两种方法: ⑴ 在页面上声明 <%@ taglib uri=“http://s

Yzq12312的博客 327

Java Web学习八:验证码功能实现&request

Java Web学习八:验证码功能实现&request一:验证码功能实现二:request概述及运行流程三:通过request获取请求四:request的其他功能注意:转发与重定向的区别?五:request域与ServletContext域生命周期比较六:客户端地址与服务器端地址的写法 一:验证码功能实现 动态的验证码区别于静态验证码,主要是通过servlet生成动态图片,以及生成验证码...

rnang0的博客 1460

java webservice 用户验证 (服务端 + 客户端)

说明:在网上找了一堆 handler验证的东东,试验了一下,没成功。 现在换了一种方式:在 tomcat的配置文件中添加用户角色和用户信息              然后在 webservice的项目配置文件中增加对应的角色。从而达到 用户验证的目的。 开发环境: MyEclipse 10, Tomcat 7 参考:http://www.fengfly.com/plus/view-21...

java践行之路的博客 1459
上一篇: 如果你在网上看到你的文章被侵权,你会作何感想?
下一篇: Java Web基础:第十五讲 正则表达式
老李-大连
博客等级 码龄20年 3206粉丝 308原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值