javascript验证IP地址等验证例子
发布时间:2007-09-11 13:40:00
标签:javascript,校验
本文实例介绍了使用javascript来经验表单数据的方法,如:校验是否为英文,校验是否为数字及校验IP地址等:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>
<body>
<script language = ’javascript’>
//校验是否为英文
function checkchar()
{
var Letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
for (i=0; i < document.form.aaa.value.length; i++)
{
var CheckChar = document.form.aaa.value.charAt(i);
CheckChar = CheckChar.toUpperCase();
if (Letters.indexOf(CheckChar) == -1)
{
alert ("输入类型必须为英文!");
return false;
}
}
}
//校验是否为数字
function checknum(p)
{
if (p == "")
{alert ("输入不能为空!");
return false;
}
var l = p.length;
var count=0;
for(var i=0; i<l; i++)
{
var digit = p.charAt(i);
if(digit == "." )
{
++count;
if(count>1)
{alert ("输入类型必须为数字!");
return false;
}
}
else if(digit < "0" digit > "9")
{alert ("输入类型必须为数字!");
return false;
}
}
return true;
}
//校验IP地址格式
function checkip()
{
var scount=0;
var ip = document.form3.ccc.value;
var iplength = ip.length;
var Letters = "1234567890.";
for (i=0; i < document.form3.ccc.value.length; i++)
{
var CheckChar = document.form3.ccc.value.charAt(i);
if (Letters.indexOf(CheckChar) == -1)
{
alert ("IP地址格式不对!!,只能输入数字和“.”,格式为XXX.XXX.XXX.XXX 例如:192.168.0.1");
document.form3.ccc.value="";
document.form3.ccc.focus();
return false;
}
}
for (var i = 0;i<iplength;i++)
(ip.substr(i,1)==".")?scount++:scount;
if(scount!=3)
{
alert ("IP地址格式不对!,只能输入数字和“.”,格式为XXX.XXX.XXX.XXX 例如:192.168.0.1");
document.form3.ccc.value="";
document.form3.ccc.focus();
return false;
}
first = ip.indexOf(".");
last = ip.lastIndexOf(".");
str1 = ip.substring(0,first);
subip = ip.substring(0,last);
sublength = subip.length;
second = subip.lastIndexOf(".");
str2 = subip.substring(first+1,second);
str3 = subip.substring(second+1,sublength);
str4 = ip.substring(last+1,iplength);
if (str1=="" str2=="" str3== "" str4 == "")
{alert("数字不能为空!格式为XXX.XXX.XXX.XXX 例如:192.168.0.1");
document.form3.ccc.value="";
document.form3.ccc.focus();
return false;
}
if (str1< 0 str1 >255)
{alert ("数字范围为0~255!");
document.form3.ccc.value="";
document.form3.ccc.focus();
return false;
}
else if (str2< 0 str2 >255)
{alert ("数字范围为0~255!");
document.form3.ccc.value="";
document.form3.ccc.focus();
return false;
}
else if (str3< 0 str3 >255)
{alert ("数字范围为0~255!");
document.form3.ccc.value="";
document.form3.ccc.focus();
return false;
}
else if (str4< 0 str4 >255)
{alert ("数字范围为0~255!");
document.form3.ccc.value="";
document.form3.ccc.focus();
return false;
}
//校验电话号码
function checkphone()
{
var Letters = "1234567890,";
for (i=0; i < document.form4.ddd.value.length; i++)
{
var CheckChar = document.form4.ddd.value.charAt(i);
if (Letters.indexOf(CheckChar) == -1)
{
alert ("电话号码只能为数字或逗号!");
return false;
}
}
}
}
</script>
<form name = "form" method="POST" action = "aa" onsubmit ="return checkchar()">
<p>校验英语字母:<input type="text" name="aaa" size="20">
</p>
<p>
<input type="submit" value="提交" name="B1">
<input type="reset" value="全部重写" name="B2"></p>
</form>
<form name = "form2" method="POST" onsubmit= "return checknum(document.form2.bbb.value)">
<p>校验数字:<input type="text" name="bbb" size="20"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
<form name = "form3" method="POST" onsubmit = "return checkip()">
<p>校验IP地址:<input type="text" name="ccc" size="20"></p>
<p><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
<form name = "form4" method="POST" onsubmit = "return checkphone()">
<p>校验电话号码:<input type="text" name="ddd" size="20"><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
</form>
</body>
</html>
0
投稿
猜你喜欢
- 前言copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。深复制被复制对象完全再复制一遍作为独立的新个体单
- 今天在验证接口的并发问题时,把之前通过 redis 解决的并发压力转移到 mysql 上(redis 在 set 保存数据和数据过期需要去向
- 一、基础第三方库使用1.基本使用方法"""例"""from urllib imp
- provide / inject 是 2.2 新增的方法,可以以一个祖先组件向所有子孙后代注入依赖(一个内容)。provider/injec
- 利用Python正则表达式匹配字符串中的http链接。主要难点是用正则表示出http 链接的模式。import repattern = re
- Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命
- 程序设计中我们时常需要检测用户输入是否正确,特别是姓名,地址等等是不是输入的汉字。那么,如何判断一个字符是不是汉字呢?其实在asp中至少有两
- 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字3755个采用拼音排序,二级
- 本文实例为大家分享了vue实现表单录入的具体代码,供大家参考,具体内容如下最终效果:代码:<template> <div
- 前言最近遇到一个需求,有几十个Excel,每个的字段都不一样,然后都差不多是第一行是表头,后面几千上万的数据,需要把这些Excel中的数据全
- 前言我们都知道 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程
- 1. 引言本文为介绍流行的数独游戏的系列文章中的第一篇。更具体地说,我们如何构建一个脚本来解决数独难题,本文的重点在于介绍用于构建数独求解器
- 本文实例为大家分享了Python每天迁移MySQL历史数据到历史库的具体代码,供大家参考,具体内容如下#!/usr/bin/env pyth
- 前言本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。闲来无事听听歌,听
- (1)标准类型操作符(所有的集合类型)成员关系 (in, not in) &nbs
- PyQt5不规则窗口实现动画效果实例import sysfrom PyQt5.QtCore import *from PyQt5.QtGui
- 文章摘要本文简单说明了FLV文件的格式,以此为出发点,使用 Python 实现FLV视频的拼接。一.FLV文件格式关于FLV文件格式的解析网
- python3.6.4安装opencv3.4.2使用pip安装OpenCV直接安装最新版:pip3 install opencv_pytho
- 之前在网上看过好多关于mysql.sock不见的问题,并没有关注这个东西存在的意义,直到自己的mysql也出现了相同的问题。让人纠结了一把…
- 和设计师打过交道的人一定也见到过少数极品,不是扎着小辫子留着小胡子,就是剃了光头抽根烟,通常说起来一套一套的人作品都很一般般,而作品一般般的