【HTML】用户名、身份证号、邮箱、验证

2023-11-18

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>表单验证</title>

//为了使页面不是那么突兀,特地导入了这俩个bootstrap框架相关的包

<link rel="stylesheet" type="text/css" href="css/bootstrap-3.3.7-dist/css/bootstrap.css"/>

<link rel="stylesheet" type="text/css" href="css/bootstrap-3.3.7-dist/js/bootstrap.js"/>

</head>

<body>

<div class="container">

<div class="row">

<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 "></div>

<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 ">

<h3 style="font-family: youyuan;color: blue;text-align: center"><strong>表单验证</strong></h3>

<hr/>

<form name="form">

<span style="color: blue">用户名</span>

<input type="text" id="name" name="name" required="required" class="form-control" placeholder="用户名(6-14位)"/>

<span id="namespan" style="color: red"></span>

<br/>

<span style="color: blue">密码</span>

<input type="password" id="pwd"name="pwd" required="required" class="form-control"οnclick="checkname()" placeholder="密码(4-16位)"/>

<span id="pwdspan"style="color: red"></span>

<br/>

<span style="color: blue">确认密码</span>

<input type="password" id="repwd"name="repwd" required="required" class="form-control"οnclick="checkpassword()" placeholder="确认密码"/>

<span id="repwdspan"style="color: red"></span>

<br/>

<span style="color: blue">邮箱</span>

<input type="email" id="email" required="required" class="form-control"οnclick="same()" placeholder="邮箱"/>

<span id="emailspan" style="color: red"></span>

<br/>

<span style="color: blue">身份证号</span>

<input type="text"name="number" id="id" required="required" class="form-control"οnclick="checkemail()" placeholder="身份证号"/>

<span id="idspan" style="color: red"></span>

<br/>

<span style="color: blue">出生日期</span>

<input name="sDate" type="text" id="sDate" required="required" class="form-control"οnclick="check(form)" placeholder="出生日期"/>

<span id="datespan" style="color: red"></span>

<br/>

<input type="button" value="检查出生日期" class="btn btn-primary"οnclick="checkdate(form)"/>

<input type="reset" value="重置" class="btn btn-primary"/>

<input type="submit" value="提交" class="btn btn-primary"/>

</form>

</div>

<div class="col-xs-12 col-sm-12 col-md-4 col-lg-4 ">

</div>

</div>

</div>

</body>

</html>

<script language="javascript">

//检验用户名格式

function checkname(){

var name1 = document.form.name.value;

if (name1 == "") {

document.getElementById("namespan").innerHTML = "用户名不能为空!";

document.form.name.focus();

return false;

}

if (name1.length < 6 || name1.length > 14) {

document.getElementById("namespan").innerHTML = "格式错误,长度6-14个字符";

document.form.name.focus();

// document.form.name.select();

return false;

}

var charname1 = name1.toLowerCase();

for (var i = 0; i < name1.length; i++) {

var charname = charname1.charAt(i);

if (!(charname >= 0 && charname <= 9) && (!(charname >= 'a' && charname <= 'z')) && (charname != '_')) {

document.getElementById("namespan").innerHTML = "用户名包含非法字符";

// document.form.name.select();

document.form.name.focus();

return false;

}

}

document.getElementById("namespan").innerHTML = "用户名正确";

return true;

}

//检查密码格式

function checkpassword(){

var div = document.getElementById("pwdspan");

div.innerHTML = "";

var password = document.form.pwd.value;

if (password == "") {

div.innerHTML = "密码不能为空";

document.form.pwd.focus();

return false;

}

if (password.length < 4 || password.length > 16) {

div.innerHTML = "格式错误,密码长度为4-16位";

document.form.pwd.select();

return false;

}

div.innerHTML = "密码格式正确";

return true;

}

//检查密码是否一样

function same() {

var d=document.getElementById("repwdspan");

d.innerHTML="";

var pValue=document.getElementById("pwd").value;

if(pValue==""){

//注意空的表示方法

d.innerHTML="密码不能为空";

return false;

}

/** 校验确认密码*/

var rpValue=document.getElementById("repwd").value;

if(rpValue!=pValue){

d.innerHTML="两次密码输入不一致";

return false;

}

d.innerHTML="输入一致";

return true;

}

//检验邮箱

function checkemail() {

var d=document.getElementById("emailspan");

d.innerHTML="";

var eValue=document.getElementById("email").value;

if(!/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/.test(eValue)){

d.innerHTML="邮箱格式错误!";

}else

d.innerHTML="邮箱格式正确"

}

// 检验身份证号格式

function checkeNO(NO){

var str=NO;

//在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号

var Expression=/^\d{17}[\d|X]$|^\d{15}$/;

var objExp=new RegExp(Expression);

if(objExp.test(str)==true){

return true;

}else{

return false;

}

}

function check(form){

var d=document.getElementById("idspan");

d.innerHTML="";

if(form.number.value==""){

d.innerHTML="请输入身份证号码!";

form.number.focus();return;

}

if(!checkeNO(form.number.value)){

d.innerHTML="身份证号码格式错误!!";

form.number.focus();

return;

}

if(checkeNO(form.number.value)){

d.innerHTML="身份证号码格式正确!!";

}

}

//判断输入的日期是否正确

function CheckDate(INDate){

if (INDate==""){return true;}

if(INDate.indexOf('-',0)!=-1){separate="-"}

else{

if(INDate.indexOf('/',0)!=-1){separate="/"}

else {return true;}

}

area=INDate.indexOf(separate,0)

//获取年份

subYY=INDate.substr(0,area)

if(isNaN(subYY) || subYY<=0){

return true;

}

//转换月份

subMM=INDate.substr(area+1,INDate.indexOf(separate,area+1)-(area+1))

if(isNaN(subMM) || subMM<=0){

return true;

}

if(subMM.length<2){subMM="0"+subMM}

//转换日

area=INDate.lastIndexOf(separate)

subDD=INDate.substr(area+1,INDate.length-area-1)

if(isNaN(subDD) || subDD<=0){

return true;

}

if(eval(subDD)<10){subDD="0"+eval(subDD)}

NewDate=subYY+"-"+subMM+"-"+subDD

if(NewDate.length!=10){return true;}

if(NewDate.substr(4,1)!="-"){return true;}

if(NewDate.substr(7,1)!="-"){return true;}

var MM=NewDate.substr(5,2);

var DD=NewDate.substr(8,2);

if((subYY%4==0 && subYY%100!=0)||subYY%400==0){ //判断是否为闰年

if(parseInt(MM)==2){

if(DD>29){return true;}

}

}else{

if(parseInt(MM)==2){

if(DD>28){return true;}

}

}

var mm=new Array(1,3,5,7,8,10,12); //判断每月中的最大天数

for(i=0;i< mm.length;i++){

if (parseInt(MM) == mm[i]){

if(parseInt(DD)>31){

return true;

}else{

return false;

}

}

}

if(parseInt(DD)>30){return true;}

if(parseInt(MM)>12){return true;}

return false;

}

function checkdate(myform){

var d=document.getElementById("datespan");

d.innerHTML="";

if(myform.sDate.value==""){

d.innerHTML="请输入日期";

myform.sDate.focus();return;

}

if(CheckDate(myform.sDate.value)){

d.innerHTML="您输入的日期不正确!\n 请注意日期格式(如:2007/07/17或2007-07-17)以及二月是否为闰年!";

myform.sDate.focus();return;

}

if(!CheckDate(myform.sDate.value)){

d.innerHTML="您输入的日期是正确的";

}

}

</script>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【HTML】用户名、身份证号、邮箱、验证 的相关文章

  • Openlayers3:中止绘制交互

    我在 html 中使用绘制交互来手动绘制路线 manual route creation event createRoute click function remove previous interactions map removeInt
  • 如何使用 Ajax 和 Jquery 验证提交表单?

    我正在尝试使用 Ajax 提交一个 from 并使用查询验证插件来验证它 我在下面编写代码
  • AJAX Webmethod 调用在 MVC3 上返回 404

    我一直在使用 EXTJS 4 并通过 AJAX 调用 aspx 页面代码隐藏上的 Webmethod 来加载我的商店 此方法适用于我的所有项目 直到我尝试将 EXTJS 4 工作移植到 MVC3 项目中 我的电话现在返回 404 关键部分是
  • 如何在没有 Web 服务器的情况下运行 ajax 代码?

    我在系统上没有服务器的情况下运行ajax 我用它创建了一个index html JavaScript 函数 function do the click url alert inside this method do the click aj
  • 如何防止 Ajax/javascript 结果在浏览器中缓存?

    如何防止浏览器缓存Ajax结果 我有事件触发的 Ajax 脚本 仅当浏览器数据被清除时才显示结果 在 IE6 和 Firefox 3 0 10 中测试 随机 URL 可以工作 但它是一种 hack HTTP 内置了应该可以工作的解决方案 尝
  • Javascript-CSS 显示和隐藏表单元素

    通过使用 Javascript 如何显示和隐藏表格的某些部分 例如 TR 或 TD 这应该取决于从数据库获取的数据 我在我的应用程序中使用 CakePHP 框架 并使用单个视图文件进行添加和编辑 在编辑模式下 根据获取的数据 我需要显示和隐
  • 调整浏览器大小时CSS边框影响宽度

    我使用以下方法制作了两个简单的导航菜单ul and li 一种是无边框的 另一种是有边框的 两个菜单的宽度固定为 400px 在第一个菜单中我给了每个li固定宽度为 100px 在第二个菜单中 根据宽度计算 我给出了固定宽度 98px 左右
  • LessCSS 中的 @media 和 @font-face 支持

    你好 有谁知道如何使用 LessCSS 进行媒体查询吗 media screen and max width 600px container width 480px 给我以下错误 Syntax Error on line 23 expect
  • jQuery AJAX JSONP 错误“意外的令牌”

    我正在尝试跨域JSONP在 Chrome 中打电话 但我总是回复 未捕获的语法错误 意外的标记 我尝试过 更改响应内容类型 设置 xhr 标头 JSON stringify 几乎是此处提供的大多数解决方案 但到目前为止没有任何效果 ajax
  • jQuery - 找不到 ajax url

    好吧 我确信这真的很容易 而且我很愚蠢 但似乎无法弄清楚它的真相 我正在尝试从名为 custom js 的 js 文件对 helpers php 中的某些代码进行简单的 AJAX 调用 然而 我不断收到 404 错误 因为我似乎没有正确遍历
  • 无法更改 Bootstrap 4 中的导航栏链接颜色

    我正在尝试更改导航栏的一个链接的颜色 而我尝试了所有方法它仍然具有默认颜色 这是代码 li class nav item signup a class nav link Sign Up a li css navbar light navba
  • CSS:滚动条从窗口下方几个像素开始

    我想修复我的标题 标题始终位于页面顶部 并且我的整个内容 包括页脚在内的所有内容 都可以滚动 标题高度为 60 px 如下所示 将其固定在顶部不是问题 我想解决的问题 仅使用CSS 是让滚动条从距顶部 60 像素以下的位置开始 正如您所看到
  • 关于在 Bootstrap 中对齐网格项的 CSS 指南

    我正在尝试显示项目网格 并且图片的高度和宽度都不同 并且细节可能长或短 导致页面上的换行符数量不同 This is what I want it to look like And here is what it actually looks
  • 如何在MVC中将整套模型附加到formdata并获取它

    如何通过formdata传递一整套模型对象并将其转换为控制器中的模型类型 以下是我尝试过的 JavaScript 部分 model EventFromDate fromDate EventToDate toDate ImageUrl img
  • 单击按钮时执行 python 脚本

    我有一个带有一个按钮的 HTML 页面 当我们单击该按钮时 我需要执行一个 python 脚本 并返回到包含结果的同一 HTML 页面 所以我需要对返回值进行一些验证并执行一些操作 这是我的代码 HTML
  • 为什么网络浏览器在通过 Enter 键激活时不应用 CSS :active 状态?

    大多数 Web 浏览器都提供键盘快捷键来与 DOM 交互 e g Tab将焦点转移到下一个可聚焦元素 Alt Tab将焦点转移到前一个可聚焦元素 Enter激活当前聚焦的元素 我现在发现许多流行的浏览器 Firefox Chrome Saf
  • Bootstrap 3 网格,一行中有多少列“真的”重要吗?

    我有一个表单布局 上面有 Bootstrap 3 表单组 我希望这些表单组在 我显然让它工作得很好 但是在这里阅读了一些内容后 我所做的似乎违反了假设的规则 即一行中的每一列加起来必须等于 12 但是我能找到的每个教程和文档总是使用诸如 应
  • 确定$.ajax错误是否是超时

    我正在利用魔法jQuery ajax settings 不过 我想知道是否有人经常使用超时设置 我知道它基本上是为了规定请求的本地时间 但是如果达到超时 它会触发任何事情吗 或者它只是停止监听响应 阅读 jQuery 站点 我可以看到没有传
  • 从 BLOB 打印 PDF

    我从外部 API 获取 PDF 文件 使用此代码我可以正确下载该文件 var req new XMLHttpRequest req open POST url true req responseType blob req setReques
  • 如何隐藏表格行溢出?

    我有一些 html 表 其中文本数据太大而无法容纳 因此 它垂直扩展单元格以适应这种情况 因此 现在存在溢出的行的高度是数据量较小的行的两倍 这是无法接受的 如何强制表格具有相同的行高1em 这是一些重现该问题的标记 表格应该只有一行的高度

随机推荐

  • python函数参数里面带*是什么意思

    文章参考 https blog csdn net jiangkejkl article details 121346940 1 函数参数定义中使用独立的符号 在函数定义时 使用了一个独立的符号 这表示在符号后面的参数 调用函数时 必须使用k
  • NAPI机制分析

    NAPI机制分析 NAPI 的核心在于 在一个繁忙网络 每次有网络数据包到达时 不需要都引发中断 因为高频率的中断可能会影响系统的整体效率 假象一个场景 我们此时使用标准的 100M 网卡 可能实际达到的接收速率为 80MBits s 而此
  • 解决 IDEA中springboot项目 修改页面无法生效问题

    解决 IDEA中springboot项目 修改页面无法生效问题 之前网上找了很多解决办法 都是无效的 所以找到解决办法后 先发个博客说一下 至此就完成了springboot 无需重启则对html修改生效 如出现偶尔无效时 请刷新浏览器 之前
  • Linux下使用Git上传和更新代码

    一 上传代码 1 去github上根据网站的提示来创建自己的远程Repository 仓库 2 建立本地git仓库 git init 注意 此指令本地源码根目录执行 执行成功后 会在当前目录生成一个隐藏的名字为 git 的目录 所有对本地仓
  • 【ClickHouse数据库】如何在Win10的Ubuntu上通过ClickHouse存取行情数据

    如何在Win10的Ubuntu上通过ClickHouse存取行情数据 前言 一 ClickHouse是什么 二 如何在Ubuntu上安装ClickHouse 三 添加用户并设置密码 四 使用 1 使用DBeaver操作数据库 2 向Clic
  • 计算机图形学方向和前景&&3D

    我是刚入坑计算机图形学的小菜鸟 在百度上搜索计算机图形学方向和前景和3D 几乎不能搜到什么有用的东西 google还能搜到些有用的 但是需要翻墙 恰好前几天山大承办的games 北京大学陈宝权老师提出了图形学的新疆界 10个左右的国内图形学
  • vue 如何获取input中光标位置,并且点击按钮在当前光标后追加内容

    1 第一步 监听输入框的鼠标失焦事件
  • (原创)c++11中的日期和时间库

    c 11提供了日期时间相关的库chrono 通过chrono相关的库我们可以很方便的处理日期和时间 c 11还提供了字符串的宽窄转换功能 也提供了字符串和数字的相互转换的库 有了这些库提供的便利的工具类 我们能方便的处理日期和时间相关的转换
  • linux服务器管理与维护,linux服务器管理与维护速训..ppt

    linux服务器管理与维护速训 入门级命令 1990年秋天 Linus在芬兰首都赫尔辛基大学学习操作系统课程 因为上机需要排队等待 Linus买了台PC机 开发了第一个程序 程序包括两个进程 分别向屏幕上写字母A和B 然后用定时器来切换进程
  • mysql必考知识_可能是全网最好的MySQL重要知识点 !面试必备

    标题有点标题党的意思 但希望你在看了文章之后不会有这个想法 这篇文章是作者对之前总结的 MySQL 知识点做了完善后的产物 可以用来回顾MySQL基础知识以及备战MySQL常见面试问题 Python资源共享群 484031800 什么是My
  • 在GPU上实现光线跟踪

    include cuda h include book h include cpu bitmap h define DIM 1024 生成图像的大小 DIM DIM define SPHERES 20 生成的图像中球体的个数 define
  • Laplace smoothing in Naïve Bayes algorithm(拉普拉斯平滑)

    在这里转载只是为了让不能够科学搜索的同学们看到好文章而已 个人无收益只是分享知识 顺手做个记录罢了 原网址 https towardsdatascience com laplace smoothing in na C3 AFve bayes
  • 走进计算机的0和1

    一 计算机的产生在历史的长河中 人类发明和创造了许多算法与计算工具 在我国商朝时期就有算珠 春秋战国时期的算表 唐宋时期的算盘 欧洲在16世纪也发明了许多的计算工具 经过一系列的发展 知道1946年一月 世界上第一台计算机诞生 计算机比较笨
  • matlab 神经网络设计多层隐含层_【MATLAB深度学习】多层神经网络

    多层神经网络 对于多层神经网络的训练 delta规则是无效的 因为应用delta规则训练必须要误差 但在隐含层中没有定义 输出节点的误差是指标准输出和神经网络输出之间的差别 但训练数据不提供隐藏层的标准输出 真正的难题在于怎么定义隐藏节点的
  • 【Python】`*args` 和 `**kwargs`的用法【最全详解】

    args 和 kwargs的用法 猛滴打开博客 发现实在有段时间没更新了 又刚好用到了 kwargs 遂想起了许久之前总结的这篇博客 夸张点说也算是自己的一个呕心沥血之作吧 相信不少同学在看大神的程序时 总会看见 args kwargs 这
  • Deep Ensemble Bootstrapped Q-Learning (Deep-EBQL)【代码复现】

    Deep EBQL理论基础 原文链接 Ensemble Bootstrapping for Q Learning Deep EBQL是EBQL的深度学习版本 也即是在DQN的基础上 引入集成的思想 解决DQN过估计的问题 深度版本的EBQL
  • 02-----libevent下载或者移植环境时报错(/usr/bin/ld: warning:xxx,needed by xxx,not found)

    这个问题 bin sh xx 命令 not found是非常常见的 更具体可以是下图的情况 两者是一样的 1 我第一次遇到这种情况时 发现是库版本不对 所以将这些动态库换一篇后解决 ln s usr local lib libevent c
  • VSCode编码特效

    下载插件 Power Mode 然后来到settings json文件进行修改配置 如果找不到 可以只搜索settings 代码中继续追加这部分代码 explorer confirmDelete false powermode enable
  • Es修改索引别名

    在使用ES时有时候我们需要修改索引信息 本文总结了如何修改索引信息 ES修改索引结构 在 ElasticSearch 中索引就类似于关系型数据库中 Table 的概念 如果要修改索引的一些关键信息时 要重建索引 具体步骤如下 新建索引 复制
  • 【HTML】用户名、身份证号、邮箱、验证

    为了使页面不是那么突兀 特地导入了这俩个bootstrap框架相关的包