js表单验证 方法

2023-05-16

 

1. 长度限制

<p>1. 长度限制</p>
<form name=a οnsubmit="return test()">
<textarea name="b" cols="40" rows="6" placeholder="不能超过50个字符!"></textarea>
<br />
<input type="submit" name="Submit" value="check">
</form>

<script language="javascript">
function test()
{
if(document.a.b.value.length>50)
{
alert("不能超过50个字符!");
document.a.b.focus();
return false;
}
}
</script>

 

2. 只能是汉字 

<p>2. 只能是汉字 </p>
<input type="text" οnblur="isChinese(this.value)" placeholder="请输入中文!" />

<script language="javascript">
function isChinese(obj){
var reg=/^[\u0391-\uFFE5]+$/;
if(obj!=""&&!reg.test(obj)){
alert('必须输入中文!');
return false;
}
}

</script>

 

以下demo中的HTML的结构与验证中文结构相似的,小编就只写js啦~~~

 

3. 只能是英文字母 

<script type="text/javascript">
//验证只能是字母
function checkZm(zm){
var zmReg=/^[a-zA-Z]*$/;
if(zm!=""&&!zmReg.test(zm)){
alert("只能是英文字母!");
return false;
}
}
</script>

 

4. 只能是数字 

<script language=javascript>
//验证只能为数字
function checkNumber(obj){
var reg = /^[0-9]+$/;
if(obj!=""&&!reg.test(obj)){
alert('只能输入数字!');
return false;
}
}
</script>

 

5. 只能是英文字母和数字 

<script type="text/javascript">
//验证只能是字母和数字
function checkZmOrNum(zmnum){
var zmnumReg=/^[0-9a-zA-Z]*$/;
if(zmnum!=""&&!zmnumReg.test(zmnum)){
alert("只能输入是字母或者数字,请重新输入");
return false;
}
}
</script>

 

6. 检验时间大小(与当前时间比较)

 

<script type="text/javascript">
//检验时间大小(与当前时间比较)
function checkDate(obj){
var obj_value=obj.replace(/-/g,"/");//替换字符,变成标准格式(检验格式为:'2009-12-10')
// var obj_value=obj.replace("-","/");//替换字符,变成标准格式(检验格式为:'2010-12-10 11:12')
var date1=new Date(Date.parse(obj_value));
var date2=new Date();//取今天的日期
if(date1>date2){
alert("不能大于当前时间!");
return false;
}
}
</script>

 

7. 屏蔽关键字(这里屏蔽***和****)

<script type="text/javascript">
function test(obj) {
if((obj.indexOf ("***") == 0)||(obj.indexOf ("****") == 0)){
alert("屏蔽关键字(这里屏蔽***和****)!");
return false;}
}
</script>

 

8. 两次输入密码是否相同 

<script type="text/javascript">
function check(){
with(document.all){
if(input1.value!=input2.value)
{
alert("密码不一致")
input1.value = "";
input2.value = "";
}
else {
alert("密码一致");
document.forms[0].submit();
}
}
}
</script>

 

9. 表单项不能为空 

<script language="javascript">
function CheckForm(obj)
{
if (obj.length == 0) {
alert("姓名不能为空!");
return false;
}
return true;
alert("姓名不能为空!");
}
</script>

 

10. 邮箱验证

<script language="javascript">
function test(obj){
//对电子邮件的验证
var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if(!myreg.test(obj))
{
alert('请输入有效的邮箱!');
return false;
}
}
</script>

 

11. 验证手机号

<script type="text/javascript">
function validatemobile(mobile)
{
if(mobile.length==0)
{
alert('手机号码不能为空!');
return false;
}
if(mobile.length!=11)
{
alert('请输入有效的手机号码,需是11位!');
return false;
}

var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(!myreg.test(mobile))
{
alert('请输入有效的手机号码!');
return false;
}
}
</script>

 

12. 验证身份证号码(需是有效身份证)

<script type="text/javascript">
// 构造函数,变量为15位或者18位的身份证号码
function clsIDCard(CardNo) {
this.Valid=false;
this.ID15='';
this.ID18='';
this.Local='';
if(CardNo!=null)this.SetCardNo(CardNo);
}

// 设置身份证号码,15位或者18位
clsIDCard.prototype.SetCardNo = function(CardNo) {
this.ID15='';
this.ID18='';
this.Local='';
CardNo=CardNo.replace(" ","");
var strCardNo;
if(CardNo.length==18) {
pattern= /^\d{17}(\d|x|X)$/;
if (pattern.exec(CardNo)==null)return;
strCardNo=CardNo.toUpperCase();
} else {
pattern= /^\d{15}$/;
if (pattern.exec(CardNo)==null)return;
strCardNo=CardNo.substr(0,6)+'19'+CardNo.substr(6,9)
strCardNo+=this.GetVCode(strCardNo);
}
this.Valid=this.CheckValid(strCardNo);
}

// 校验身份证有效性
clsIDCard.prototype.IsValid = function() {
return this.Valid;
}

// 返回生日字符串,格式如下,1981-10-10
clsIDCard.prototype.GetBirthDate = function() {
var BirthDate='';
if(this.Valid)BirthDate=this.GetBirthYear()+'-'+this.GetBirthMonth()+'-'+this.GetBirthDay();
return BirthDate;
}

// 返回生日中的年,格式如下,1981
clsIDCard.prototype.GetBirthYear = function() {
var BirthYear='';
if(this.Valid)BirthYear=this.ID18.substr(6,4);
return BirthYear;
}

// 返回生日中的月,格式如下,10
clsIDCard.prototype.GetBirthMonth = function() {
var BirthMonth='';
if(this.Valid)BirthMonth=this.ID18.substr(10,2);
if(BirthMonth.charAt(0)=='0')BirthMonth=BirthMonth.charAt(1);
return BirthMonth;
}

// 返回生日中的日,格式如下,10
clsIDCard.prototype.GetBirthDay = function() {
var BirthDay='';
if(this.Valid)BirthDay=this.ID18.substr(12,2);
return BirthDay;
}

// 返回性别,1:男,0:女
clsIDCard.prototype.GetSex = function() {
var Sex='';
if(this.Valid)Sex=this.ID18.charAt(16)%2;
return Sex;
}

// 返回15位身份证号码
clsIDCard.prototype.Get15 = function() {
var ID15='';
if(this.Valid)ID15=this.ID15;
return ID15;
}

// 返回18位身份证号码
clsIDCard.prototype.Get18 = function() {
var ID18='';
if(this.Valid)ID18=this.ID18;
return ID18;
}

// 返回所在省,例如:上海市、浙江省
clsIDCard.prototype.GetLocal = function() {
var Local='';
if(this.Valid)Local=this.Local;
return Local;
}

clsIDCard.prototype.GetVCode = function(CardNo17) {
var Wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
var Ai = new Array('1','0','X','9','8','7','6','5','4','3','2');
var cardNoSum = 0;
for (var i=0; i<CardNo17.length; i++)cardNoSum+=CardNo17.charAt(i)*Wi[i];
var seq = cardNoSum%11;
return Ai[seq];
}

clsIDCard.prototype.CheckValid = function(CardNo18) {
if(this.GetVCode(CardNo18.substr(0,17))!=CardNo18.charAt(17))return false;
if(!this.IsDate(CardNo18.substr(6,8)))return false;
var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北 ",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"};
if(aCity[parseInt(CardNo18.substr(0,2))]==null)return false;
this.ID18=CardNo18;
this.ID15=CardNo18.substr(0,6)+CardNo18.substr(8,9);
this.Local=aCity[parseInt(CardNo18.substr(0,2))];
return true;
}

clsIDCard.prototype.IsDate = function(strDate) {
var r = strDate.match(/^(\d{1,4})(\d{1,2})(\d{1,2})$/);
if(r==null)return false;
var d= new Date(r[1], r[2]-1, r[3]);
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[2]&&d.getDate()==r[3]);
}


function valiIdCard(idCard){
var checkFlag = new clsIDCard(idCard);
if (!checkFlag.IsValid()) {
alert("输入的身份证号无效,请输入真实的身份证号!");
document.getElementByIdx("idCard").focus();
return false;
}else{
alert("是有效身份证!");
}
}
</script>

转载于:https://www.cnblogs.com/gerry/p/8967438.html

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

js表单验证 方法 的相关文章

  • 美图秀秀一寸照片的制作

    在浏览器里搜索美图秀秀 xff0c 并点击下载 2 安装之后 xff0c 打开美图秀秀 xff0c 选择图片美化 3 选择打开一张图片 xff0c 添加需要修改的图片 4 此时图片添加完成 xff0c 点击左侧的尺寸修改 5 点击取消锁定高
  • 使用虚拟机Ubuntu进行深度学习(一) ----安装虚拟机和Ubuntu系统

    使用虚拟机Ubuntu进行深度学习 xff08 一 xff09 安装虚拟机和Ubuntu系统 很多想要开展深度学习的小伙伴们 xff0c 可能没有或者即将拥有服务器和GPU这些比较好的深度学习硬件设备 xff0c 但又想较早开始和接触深度学
  • 有关YOLO目标检测的FPGA加速教程(一)

    1 内存卡的装配 详见 xff1a https blog csdn net weixin 38438451 article details 83474479 在这一步 xff0c 开发板启动后 xff0c 可以通过超级终端HyperTerm
  • java开发app后端_app后端用什么开发

    选择开发语言就一个核心原则 xff1a 在合适的业务场景的情况下选择最热门的语言 1 每种语言都有自己擅长的业务场景 xff0c 根据业务场景来选择 推荐学习 xff1a PHP视频教程 例如 xff0c 如果需要开发一个聊天服务器 xff
  • Python sphinx-build在Windows系统中生成Html文档

    看到前同事发布的 Markdown reST 文档发布流水线 基于TFS Docker Azure等工具和平台进行文档发布的介绍说明 xff0c 不得不在心中暗暗竖起大拇指 这套模式 xff0c 实现了文档编写后版本管理 发布 存档 分享的
  • php打开sdf文件,sdf文件扩展名,sdf文件怎么打开?

    sdf 文件类型1 xff1a SQL Server Compact Database File 文件说明 xff1a Compact relational database developed by Microsoft also know
  • 如何将获取的html源码重新加载,js中页面的重新加载的方法

    摘要 腾兴网为您分享 js中页面的重新加载的方法 xff0c 信用管家 xff0c 新浪博客 xff0c 听中国 xff0c 实时地球等软件知识 xff0c 以及apexlauncher xff0c 乐园rpg xff0c 正版秒挂抢红包挂
  • Git命令行介绍和使用说明(持续更新)

    Git命令行介绍和使用说明 xff08 持续更新 xff09 Git 命令行介绍和使用说明 xff08 持续更新 xff09 文档名称 Git 命令行介绍和使用说明会 创建时间 2012 8 23 修改时间 2012 8 23 创建人 Ba
  • 【题解】Luogu P2233 [HNOI2002] 公交路线 矩乘加速递推

    构造矩阵 发现只能相邻两个车站转移 xff0c 所以能够写出下面这个矩阵 begin bmatrix 0 amp 1 amp 0 amp 0 amp 0 amp 0 amp 0 amp 1 1 amp 0 amp 1 amp 0 amp 0
  • 【题解】Luogu P1038 神经网络 拓扑排序

    topsort 板 题 显然 xff0c 题目要求从入度为零的点遍历到出度为零的点 xff0c 想到用拓排 另如果是输入层 xff0c 那么u i 为1或0都没有关系 xff0c 一定会激活 同时处理出度便于输出 code 1 includ
  • 洛必达法则

    洛必达法则 对于极限 xff0c lim limits substack x to a x to infty frac f x g x 对于未定式 xff0c 也就是 frac 0 0 frac infty infty infty inft
  • Adam与SGD

    本文转载自 机器学习炼丹记 xff0c 搜索 julius ai 即可关注 原文链接 xff1a 小象 xff08 一 xff09 一个框架看懂优化算法 机器学习界有一群炼丹师 xff0c 他们每天的日常是 xff1a 拿来药材 xff08
  • Khadas VIM3刷fast drone 250

    拿到板子先增加swap空间 xff0c 避免后边编译VINS卡死 xff0c 根据教程操作即可 https www bilibili com read cv17175381 安装ROS https blog csdn net m0 5587
  • 读扇区错误:0柱面0磁头1扇区(硬盘问题,蓝屏等 0x0000007B)

    原文发布时间为 xff1a 2010 05 25 来源于本人的百度文章 由搬家工具导入 读扇区错误 0柱面0磁头1扇区 硬盘问题 xff0c 蓝屏等 0x0000007B DISKGEN能找到 那就没什么大问题的 你可以用diskgen选择
  • java8 :: 用法 (JDK8 双冒号用法)

    JDK8中有双冒号的用法 xff0c 就是把方法当做参数传到stream内部 xff0c 使stream的每个元素都传入到该方法里面执行一下 代码其实很简单 xff1a 以前的代码一般是如此的 xff1a public class Acce
  • 命名空间和函数前面加上::

    命名空间和函数前面加上 xff1a xff1a 经常看到命名空间前就只有 xff1a xff1a 比如 xff1a xff1a test 这种代表是全局的test 比如 xff1a xff1a CreateDirectory xff08 x

随机推荐