JS实现对用户名、密码进行正则表达式判断,按钮绑定多个事件,网页跳转

news2024/10/6 23:39:47

目标:使用JS实现对用户名和密码进行正则表达式判断,用户名和密码正确时,进行网页跳转。

用户名、密码的正则表达式检验

HTML代码:

<button type="submit" id="login-btn" /*onclick="login();alidateLogin();"*/ onblur="checkusernameandpassword()">登录</button>

为button标签添加一个聚焦事件 :οnblur="checkusernameandpassword()"

当输入完成后,点击其他地方,就能进行判断,如果用户名和密码都符合,则在控制台输出“用户名和密码合法”,否则输出“用户名和密码不合法”

JS代码:

/* 使用正则表达式验证登录时的用户名和密码是否合法 */  
function checkusernameandpassword() {
  const username = document.querySelector('#login-username').value;
  const password = document.querySelector('#login-password').value;

  const usernameRegex = /^[a-zA-Z0-9_-]{5,15}$/;
  const passwordRegex = /^[a-zA-Z0-9_-]{5,15}$/;
  if (usernameRegex.test(username) && passwordRegex.test(password)) {
    console.log('用户名和密码合法');
    return true;
  } else {
    console.log('用户名或密码不合法');
    return false;
  }
} 

JS实现一个按钮绑定两个onclick事件

HTML代码:

<button type="submit" id="login-btn" /*onclick="login();alidateLogin();"*/ onblur="checkusernameandpassword()">登录</button>

 不在button中绑定onclick事件,而是使用id属性绑定JS函数进行绑定多个onclick事件

JS代码:

/* 一个按钮绑定两个事件 */  
var btn = document.getElementById("login-btn");
btn.addEventListener("click", login);
btn.addEventListener("click", validateLogin);

 获取id为login-btn的元素,对该元素添加事件,点击触发,分别为login()、validateLogin()

模拟登录实现: 

HTML代码:

<button type="submit" id="login-btn" /*onclick="login();alidateLogin();"*/ onblur="checkusernameandpassword()">登录</button>

JS代码:

/* 登录时验证用户名和密码 */  
function validateLogin() {
  const username = document.querySelector('#login-username').value;
  const password = document.querySelector('#login-password').value;
  if (username === 'admin' && password === '123456') {
    console.log('登录成功');
    window.location.href = 'index.html';
    return true;
  } else {
    console.log('登录失败');
    return false;
  }
} 

 只有用户名为:admin    且密码为:123456 

才能实现登录。

登录成功时,执行window.location.href = '跳转页面地址'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1625830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Lombok插件 注解(有参无参getset方法)

Java神奇工具——Lombok[最全]_java lombok-CSDN博客 在普通的java项目 1直接导入lombok 的jar包 2配置文件路径 配置正确的lombok路径&#xff0c;需要添加lombok插件实现 找到全局设置 查看是否安装lombok插件 &#xff08;idea一般自带有lombok插件&#xff09; 在Maven中 …

贪吃蛇详解

Win32 API介绍&#xff1a; 在写贪吃蛇这款游戏时需要用到一些有关Win32 API的知识&#xff0c; 接下来我会将设计到的知识点列举并讲解&#xff1a; 首先我们先了解一下Win32 API是什么&#xff0c;Windows这个多作业系统除了协调应⽤程序的执⾏、分配内存、管理资源之外&am…

基于灰狼优化器GWO与小龙虾优化算法COA的无人机航迹规划

一、灰狼优化器算法 灰狼优化算法&#xff08;Grey Wolf Optimizer&#xff0c;GWO&#xff09;由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法。该算法受到了灰狼捕食猎物活动的启发而开发的一种优化搜索方法&#xff0c;它具有较强的收敛性能…

使用 Dify 和 MoonShot API 做一个懒人 AI 阅读工具(二):轻量 RAG 应用

这篇文章&#xff0c;我们继续聊聊&#xff0c;如何折腾 AI 应用&#xff0c;把不 AI 的东西&#xff0c;“AI 起来”。 在不折腾复杂的检索系统的前提下&#xff0c;做一些轻量的 RAG 实践。 写在前面 我从“机器之心会员通讯”上线以来就在订阅&#xff0c;相比较即时的行…

若依文件下载

后端自带工具controller package com.ruoyi.web.controller.common;import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.Logger…

Python二进制文件转换为文本文件

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在日常编程中&#xff0c;我们经常会遇到需要将二进制文件转换为文本文件的情况。这可能是因…

Java进阶-异常处理

概述 常见运行时异常 直接继承自RuntimeException或者子类&#xff0c;编译阶段不会报错&#xff0c;运行时可能出现的错误 运行时异常&#xff1a;一般是程序员业务没有考虑好或者是编程逻辑不严谨引起的程序错误 数组索引越界异常空指针异常类型转换异常数学操作异常数字转…

【C++报错】c++实例类的时候提示已声明所在行数,所属文件不可访问 的解决办法

这里写自定义目录标题 问题重现 问题解决 问题重现 c实例类的时候提示已声明所在行数&#xff0c;所属文件不可访问 问题解决 在此处&#xff0c;将 构造函数 放在public 问题消除

【AMBA Bus ACE 总线 1 -- ACE 总线介绍】

文章目录 Coherency 问题简介ACE 出现背景ACE 总线介绍Acknowledge signalingSnoop Channel Signals Coherency 问题简介 一致性&#xff08;Coherency&#xff09;问题通常出现在多处理器系统中&#xff0c;尤其是当多个处理器可能同时访问同一内存位置时。简单来说&#xff…

解决在 Python 数据分析中遇到的 Matplotlib 字体警告问题

当在 Python 数据分析中遇到类似以下警告时&#xff1a; D:\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:211: RuntimeWarning: Glyph 24037 missing from current font.font.set_text(s, 0.0, flagsflags) D:\anaconda3\lib\site-packages\matplotlib\ba…

【Java EE】总结12种锁策略以及synchronized的实现原理

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

网易云热评加密函数逆向(Jsrpc)

今天给大家来个jsrpc实战教程,让大家继续加深对jsrpc的理解和认识。 1、因为网易云音乐热评的加密并不在cookie上,而是参数加密,所以这里就不需要进行hook住cookie了。 2、之前就知道网易云音乐热评的加密存在之地是在下图的位置,是那个函数window.asrsea(JSON.stringify(…

我成为亚马逊云科技“技领云博主“啦

小李哥前一阵子被选为了大中华区亚马逊云科技”技领云领袖“博主项目首批成员。目前该项目也在公开招募&#xff0c;今天就给大家给大家探秘下该项目&#xff5e;1️⃣什么是”技领☁️领袖“博主项目&#xff1f; 该项目是由亚马逊云科技AWS官方发起的项目&#xff0c;主要是招…

开源代码分享(23)-基于混合整数二阶锥规划(MISOCP)的主动配电网最优潮流计算

参考文献&#xff1a; [1]乔珊. 主动配电网多源协同运行优化研究[D]. 山东大学, 2021. [2]高红均,刘俊勇,沈晓东,等. 主动配电网最优潮流研究及其应用实例 [J]. 中国电机工程学报, 2017, 37 (06): 1634-1645. DOI:10.13334/j.0258-8013.pcsee.152839. 1.引言 主动配电网技术的…

智慧养猪场视频AI智能监控与可视化管理方案

在科技日新月异的今天&#xff0c;智能化、自动化已成为众多行业追求的方向。养猪业作为传统农业的重要组成部分&#xff0c;同样迎来了技术革新的春风。特别是随着人们对食品安全等问题的日益关注&#xff0c;养猪场视频监控监管方案的智能化升级显得尤为重要。 养猪场视频智…

Java基础(运算符)

运算符 运算符和表达式 运算符&#xff1a;对字面量或者变量进行操作的符号 表达式&#xff1a;用运算符把字面量或者变量连接起来&#xff0c;符合java语法的式子就可以称为表达式&#xff1b;不同运算符连接的表达式体现的是不同类型的表达式。 算术运算符&#xff08;加…

短视频素材哪个软件好?短视频素材那里来?

在当今数字化时代&#xff0c;高质量的视频素材对于提升任何视频项目的吸引力和专业度都至关重要。以下是全球范围内精选的视频素材网站&#xff0c;每个都能为你的视频创作提供独特的视觉支持和灵感。 1. 蛙学府&#xff08;中国&#xff09; 主要提供丰富的中文视频素材&…

Centos 5 的yum源

背景 有使用较老的Centos 5 系统内部安装软件无法正常报错&#xff0c;是由于系统叫老yum源存在问题 处理方法 更换下述yum源&#xff0c;可以将其他repo源文件备份移动到其他目录&#xff0c;添加下述源后重新测试 [C5.11-base] nameCentOS-5.11 baseurlhttp://vault.c…

哈希表练习题

前言 本次博客将要写一写&#xff0c;哈希表的一些使用 哈希表主要是一个映射&#xff0c;比如数组就是一个哈希表 是一个整型对应另一个整型&#xff0c;介绍的哈希表还是要以写题目为例 第一题 242. 有效的字母异位词 - 力扣&#xff08;LeetCode&#xff09; 直接来看…

vue-manage-system 更新,后台管理系统开发更简单

vue-manage-system 近期进行了一次版本升级&#xff0c;主要是支持了更多功能、升级依赖版本和优化样式&#xff0c;并且上线了官方文档网站&#xff0c;大部分功能都有文档或者使用示例&#xff0c;更加适合新手上手开发&#xff0c;只需要根据实际业务简单修改&#xff0c;就…