JavaScript---网络编程(12)--DHTML技术演示(5)-form表单验证技术(正则)-1

简介: JavaScript---网络编程(12)--DHTML技术演示(5)-form表单验证技术(正则)

这里不进行很复杂的后台验证以及JavaScript的正则表达式,只是简单的介绍下这个技术,简单的后台接收与跳转,大概了解怎么验证的就可以。具体的技术,我后面还会继续写博客的。本人也还在学习中。


表单验证1-简单验证


进行简单的验证,用户名必须为abcd,密码长度必须大于等于6

然后根据用户输入的数据,在后面给出提示。


代码演示:

<html>
    <head>
        <title>DHTML技术演示---表单验证</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
        <script>
            function checkUserName(){
                //alert("aa");//测试这个失去焦点监听是否管用
                var oUserNameNode = document.getElementsByName("userName")[0];
                var name = oUserNameNode.value;//这个type="text"的value的值是方框内的字符
                //以后有后台时,“abcd”这个数据应该通过ajax技术向后台要
                //这里我们只是做简单的演示-就是填写的name必须是abcd
                if(name=="abcd"){
                    document.getElementById("userNameSpan").innerHTML="用户名正确".fontcolor("green");
                }else{
                    document.getElementById("userNameSpan").innerHTML="用户名错误".fontcolor("red");
                }
            }
            function checkPwd(){
                var oUserPwdNode = document.getElementById("pwd")[0];
                var pwd=oUserPwdNode.value;
                if(pwd.length>=6){
                    document.getElementById("userPwdSpan").innerHTML="密码格式符合要求".fontcolor("green");
                }else{
                    document.getElementById("userPwdSpan").innerHTML="密码长度必须大于等于6".fontcolor("red");                    
                }
            }
        </script>
    </head>
    <body>
        <form>
            <!--onblur 在对象失去输入焦点时触发。 -->
            用户名:<input type="text" name="userName" onblur="checkUserName()" />
            <span id="userNameSpan"></span>
            <br/>
            <br/>
            <!--为了演示清楚,密码这里也用type="text"了,其实应该用type="password"的-->
            密码:<input type="text" name="pwd" onblur="checkPwd()" />
            <span id="userPwdSpan"></span>          
        </form>
    </body>
</html>


360浏览器8.1 演示结果:

屏幕快照 2022-04-14 下午11.29.15.png

注册表单的验证2-正则表达式

代码演示:

<html>
    <head>
        <title>DHTML技术演示---注册表单的验证--js中使用正则表达式</title>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <script type="text/javascript">
            function checkUserName(){
                var oUserNameNode = document.getElementsByName("userName")[0];
                var userName = oUserNameNode.value;
                //用正则检验
                var reg = new RegExp("[a-z]{4}", "i");//包含4个连续的字母就可以,注意"i"的双引号不能省略
                //i---表示忽略大小写
                //var regg =new RegExp("^[a-z]{4}$","i") ;//只含4个连续的字母,注意"i"中的双引号不能省略
                //^代表开始   $代表结束
                var oUserNameSpan = document.getElementById("userNameSpan");
                //alert(reg.test(userName));
                if (reg.test(userName)) {
                    oUserNameSpan.innerHTML = "用户名格式正确".fontcolor("green");
                }
                else {
                    oUserNameSpan.innerHTML = "用户名格式错误".fontcolor("red");
                }
            }
        </script>
    </head>
    <body>
        <!-- 演示JS中正则表达式的用法 -->
        <script type="text/javascript">
            //var reg = /^[0-9]{6}$/ ; //法一
            var reg = new RegExp("^[0-9]{6}$");//法二
            var str = "123456";
            var bRes = reg.test(str);
            //111使用正则表达式对象中的方法进行验证---只能用于判断是否匹配,功能类似于Java中的String类中的matches()方法
            //alert(bRes);//true
            //222使用String对象中的方法进行正则检验---功能更强大,类似于Java当中的Matcher工具
            var res = str.match(reg);//匹配的结果保存在res(是一个数组)中,如果没有匹配到则res为null。
            //alert(res);//123456
            //match方法返回的数组有三个属性:input、index和lastIndex。
            //★一点细节---使用new RegExp()方式时,特殊字符要转义
            //var reg2 =/^\d{6}$/;  //"\"不需要转义
            var reg2= new RegExp("^\d{6}$");//※※※注意"\"要转义
            //▲▲▲上面那句是错误的,必须要写成:new RegExp("^\\d{6}$")
            //alert( reg2.test("123456") );
        </script>
        <form>
            <!--onblur 在对象失去输入焦点时触发。 -->
            用户名:<input type="text" name="userName" onblur="checkUserName()" />
            <span id="userNameSpan"></span>
        </form>
    </body>
</html>


360浏览器8.1 演示结果:

只需要包含连续4个字母就可以了。

屏幕快照 2022-04-14 下午11.29.57.png

注册表单的验证且控制提交–前端校验:

代码文件创建位置:

image.png

目录
相关文章
|
6月前
|
数据可视化
R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化
R语言弹性网络Elastic Net正则化惩罚回归模型交叉验证可视化
|
21天前
|
移动开发 网络协议 NoSQL
不为人知的网络编程(十七):冰山之下,一次网络请求背后的技术秘密
本文将抛弃千篇一律的计网知识理论,从现实的互联网技术实践角度,一步步为你分享一次网络请求背后的技术秘密。
42 0
|
2月前
|
JavaScript 前端开发
JavaScript 表单验证
JavaScript 表单验证
20 9
|
2月前
|
JavaScript 前端开发
js登录注册简单tab切换页面(含前台表单验证)
文章介绍了如何使用HTML、CSS和JavaScript创建一个简单的登录注册页面,并实现Tab切换效果。包括了表单验证,点击登录或注册按钮时,可以切换显示相应的表单。同时提供了完整的前端代码和实现效果图。
|
2月前
|
人工智能 前端开发 JavaScript
react js 处理表单( form )的2个例子
react js 处理表单( form )的2个例子
|
3月前
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
113 0
|
3月前
|
Java 开发者 关系型数据库
JSF与AWS的神秘之旅:如何在云端部署JSF应用,让你的Web应用如虎添翼?
【8月更文挑战第31天】在云计算蓬勃发展的今天,AWS已成为企业级应用的首选平台。本文探讨了在AWS上部署JSF(JavaServer Faces)应用的方法,这是一种广泛使用的Java Web框架。通过了解并利用AWS的基础设施与服务,如EC2、RDS 和 S3,开发者能够高效地部署和管理JSF应用。文章还提供了具体的部署步骤示例,并讨论了使用AWS可能遇到的挑战及应对策略,帮助开发者更好地利用AWS的强大功能,提升Web应用开发效率。
61 0
|
3月前
|
缓存 Java API
【技术前沿】JAVA网络编程黑科技:URL与URLConnection的创新应用,带你飞越极限!
【技术前沿】JAVA网络编程黑科技:URL与URLConnection的创新应用,带你飞越极限!
39 0
|
4月前
|
机器学习/深度学习 数据采集 监控
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
**神经网络与AI学习概览** - 探讨神经网络设计,包括MLP、RNN、CNN,激活函数如ReLU,以及隐藏层设计,强调网络结构与任务匹配。 - 参数初始化与优化涉及Xavier/He初始化,权重和偏置初始化,优化算法如SGD、Adam,针对不同场景选择。 - 学习率调整与正则化,如动态学习率、L1/L2正则化、早停法和Dropout,以改善训练和泛化。
44 0
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
|
5月前
|
缓存 安全 Java
【技术前沿】JAVA网络编程黑科技:URL与URLConnection的创新应用,带你飞越极限!
【6月更文挑战第22天】Java的URL和URLConnection在现代网络编程中扮演关键角色,不仅用于基本HTTP请求,还在微服务(弹性自动化调用)、智能缓存策略、异步处理和安全增强方面展现创新应用。例如,它们支持动态服务发现、HTTP缓存控制、非阻塞I/O和HTTPS加密,助力开发者构建高效、安全的网络解决方案。通过掌握这些技术,可以提升项目性能,应对云计算和大数据时代的挑战。
63 4

热门文章

最新文章