js验证表单大全


Posted in Javascript onNovember 25, 2006

不错的JS验证~~~~~~~~~~~~~~~~~~~~~~~~~
用途:校验ip地址的格式
输入:strIP:ip地址
返回:如果通过验证返回true,否则返回false;

*/
function isIP(strIP) {
if (isNull(strIP)) return false;
var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的正则表达式
if(re.test(strIP))
{
if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256) return true;
}
return false;
}

/*
用途:检查输入字符串是否为空或者全部都是空格
输入:str
返回:
如果全是空返回true,否则返回false
*/
function isNull( str ){
if ( str == "" ) return true;
var regu = "^[ ]+$";
var re = new RegExp(regu);
return re.test(str);
}

 
/*
用途:检查输入对象的值是否符合整数格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false

*/
function isInteger( str ){ 
var regu = /^[-]{0,1}[0-9]{1,}$/;
return regu.test(str);
}

/*
用途:检查输入手机号码是否正确
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false

*/
function checkMobile( s ){  
var regu =/^[1][3][0-9]{9}$/;
var re = new RegExp(regu);
if (re.test(s)) {
return true;
}else{
return false;
}
}

 
/*
用途:检查输入字符串是否符合正整数格式
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false

*/
function isNumber( s ){  
var regu = "^[0-9]+$";
var re = new RegExp(regu);
if (s.search(re) != -1) {
return true;
} else {
return false;
}
}

/*
用途:检查输入字符串是否是带小数的数字格式,可以是负数
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false

*/
function isDecimal( str ){  
if(isInteger(str)) return true;
var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
if (re.test(str)) {
if(RegExp.$1==0&&RegExp.$2==0) return false;
return true;
} else {
return false;
}
}

/*
用途:检查输入对象的值是否符合端口号格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false

*/
function isPort( str ){ 
return (isNumber(str) && str<65536);
}

/*
用途:检查输入对象的值是否符合E-Mail格式
输入:str 输入的字符串
返回:如果通过验证返回true,否则返回false

*/
function isEmail( str ){ 
var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
if(myReg.test(str)) return true;
return false;
}

/*
用途:检查输入字符串是否符合金额格式
格式定义为带小数的正数,小数点后最多三位
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false

*/
function isMoney( s ){  
var regu = "^[0-9]+[\.][0-9]{0,3}$";
var re = new RegExp(regu);
if (re.test(s)) {
return true;
} else {
return false;
}
}
/*
用途:检查输入字符串是否只由英文字母和数字和下划线组成
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false

*/
function isNumberOr_Letter( s ){//判断是否是数字或字母

var regu = "^[0-9a-zA-Z\_]+$";
var re = new RegExp(regu);
if (re.test(s)) {
return true;
}else{
return false;
}
}
/*
用途:检查输入字符串是否只由英文字母和数字组成
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false

*/
function isNumberOrLetter( s ){//判断是否是数字或字母

var regu = "^[0-9a-zA-Z]+$";
var re = new RegExp(regu);
if (re.test(s)) {
return true;
}else{
return false;
}
}
/*
用途:检查输入字符串是否只由汉字、字母、数字组成
输入:
value:字符串
返回:
如果通过验证返回true,否则返回false

*/
function isChinaOrNumbOrLett( s ){//判断是否是汉字、字母、数字组成

var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$";  
var re = new RegExp(regu);
if (re.test(s)) {
return true;
}else{
return false;
}
}

/*
用途:判断是否是日期
输入:date:日期;fmt:日期格式
返回:如果通过验证返回true,否则返回false
*/
function isDate( date, fmt ) {
if (fmt==null) fmt="yyyyMMdd";
var yIndex = fmt.indexOf("yyyy");
if(yIndex==-1) return false;
var year = date.substring(yIndex,yIndex+4);
var mIndex = fmt.indexOf("MM");
if(mIndex==-1) return false;
var month = date.substring(mIndex,mIndex+2);
var dIndex = fmt.indexOf("dd");
if(dIndex==-1) return false;
var day = date.substring(dIndex,dIndex+2);
if(!isNumber(year)||year>"2100" || year< "1900") return false;
if(!isNumber(month)||month>"12" || month< "01") return false;
if(day>getMaxDay(year,month) || day< "01") return false;
return true;
}

function getMaxDay(year,month) {
if(month==4||month==6||month==9||month==11)
return "30";
if(month==2)
if(year%4==0&&year%100!=0 || year%400==0)
return "29";
else
return "28";
return "31";
}

/*
用途:字符1是否以字符串2结束
输入:str1:字符串;str2:被包含的字符串
返回:如果通过验证返回true,否则返回false

*/
function isLastMatch(str1,str2)

var index = str1.lastIndexOf(str2);
if(str1.length==index+str2.length) return true;
return false;
}

 
/*
用途:字符1是否以字符串2开始
输入:str1:字符串;str2:被包含的字符串
返回:如果通过验证返回true,否则返回false

*/
function isFirstMatch(str1,str2)

var index = str1.indexOf(str2);
if(index==0) return true;
return false;
}

/*
用途:字符1是包含字符串2
输入:str1:字符串;str2:被包含的字符串
返回:如果通过验证返回true,否则返回false

*/
function isMatch(str1,str2)

var index = str1.indexOf(str2);
if(index==-1) return false;
return true;
}

 
/*
用途:检查输入的起止日期是否正确,规则为两个日期的格式正确,
且结束如期>=起始日期
输入:
startDate:起始日期,字符串
endDate:结束如期,字符串
返回:
如果通过验证返回true,否则返回false

*/
function checkTwoDate( startDate,endDate ) {
if( !isDate(startDate) ) {
alert("起始日期不正确!");
return false;
} else if( !isDate(endDate) ) {
alert("终止日期不正确!");
return false;
} else if( startDate > endDate ) {
alert("起始日期不能大于终止日期!");
return false;
}
return true;
}

/*
用途:检查输入的Email信箱格式是否正确
输入:
strEmail:字符串
返回:
如果通过验证返回true,否则返回false

*/
function checkEmail(strEmail) {
//var emailReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;
var emailReg = /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
if( emailReg.test(strEmail) ){
return true;
}else{
alert("您输入的Email地址格式不正确!");
return false;
}
}

/*
用途:检查输入的电话号码格式是否正确
输入:
strPhone:字符串
返回:
如果通过验证返回true,否则返回false

*/
function checkPhone( strPhone ) {
var phoneRegWithArea = /^[0][1-9]{2,3}-[0-9]{5,10}$/;
var phoneRegNoArea = /^[1-9]{1}[0-9]{5,8}$/;
var prompt = "您输入的电话号码不正确!"
if( strPhone.length > 9 ) {
if( phoneRegWithArea.test(strPhone) ){
return true;
}else{
alert( prompt );
return false;
}
}else{
if( phoneRegNoArea.test( strPhone ) ){
return true;
}else{
alert( prompt );
return false;
}

 
}
}

 
/*
用途:检查复选框被选中的数目
输入:
checkboxID:字符串
返回:
返回该复选框中被选中的数目

*/

function checkSelect( checkboxID ) {
var check = 0;
var i=0;
if( document.all(checkboxID).length > 0 ) {
for(  i=0; i<document.all(checkboxID).length; i++ ) {
if( document.all(checkboxID).item( i ).checked  ) {
check += 1;
}

 

 
}
}else{
if( document.all(checkboxID).checked )
check = 1;
}
return check;
}

function getTotalBytes(varField) {
if(varField == null)
return -1;

var totalCount = 0;
for (i = 0; i< varField.value.length; i++) {
if (varField.value.charCodeAt(i) > 127)
totalCount += 2;
else
totalCount++ ;
}
return totalCount;
}

function getFirstSelectedValue( checkboxID ){
var value = null;
var i=0;
if( document.all(checkboxID).length > 0 ){
for(  i=0; i<document.all(checkboxID).length; i++ ){
if( document.all(checkboxID).item( i ).checked ){
value = document.all(checkboxID).item(i).value;
break;
}
}
} else {
if( document.all(checkboxID).checked )
value = document.all(checkboxID).value;
}
return value;
}

 
function getFirstSelectedIndex( checkboxID ){
var value = -2;
var i=0;
if( document.all(checkboxID).length > 0 ){
for(  i=0; i<document.all(checkboxID).length; i++ ) {
if( document.all(checkboxID).item( i ).checked  ) {
value = i;
break;
}
}
} else {
if( document.all(checkboxID).checked )
value = -1;
}
return value;
}

function selectAll( checkboxID,status ){

if( document.all(checkboxID) == null)
return;

if( document.all(checkboxID).length > 0 ){
for(  i=0; i<document.all(checkboxID).length; i++ ){

document.all(checkboxID).item( i ).checked = status;
}
} else {
document.all(checkboxID).checked = status;
}
}

function selectInverse( checkboxID ) {
if( document.all(checkboxID) == null)
return;

if( document.all(checkboxID).length > 0 ) {
for(  i=0; i<document.all(checkboxID).length; i++ ) {
document.all(checkboxID).item( i ).checked = !document.all(checkboxID).item( i ).checked;
}
} else {
document.all(checkboxID).checked = !document.all(checkboxID).checked;
}
}

function checkDate( value ) {
if(value=='') return true;
if(value.length!=8 || !isNumber(value)) return false; 
var year = value.substring(0,4);
if(year>"2100" || year< "1900")
return false;

var month = value.substring(4,6);
if(month>"12" || month< "01") return false;

var day = value.substring(6,8);
if(day>getMaxDay(year,month) || day< "01") return false;

return true; 
}

/*
用途:检查输入的起止日期是否正确,规则为两个日期的格式正确或都为空
且结束日期>=起始日期
输入:
startDate:起始日期,字符串
endDate:  结束日期,字符串
返回:
如果通过验证返回true,否则返回false

*/
function checkPeriod( startDate,endDate ) {
if( !checkDate(startDate) ) {
alert("起始日期不正确!");
return false;
} else if( !checkDate(endDate) ) {
alert("终止日期不正确!");
return false;
} else if( startDate > endDate ) {
alert("起始日期不能大于终止日期!");
return false;
}
return true;
}

/*
用途:检查证券代码是否正确
输入:
secCode:证券代码
返回:
如果通过验证返回true,否则返回false

*/
function checkSecCode( secCode ) {
if( secCode.length !=6 ){
alert("证券代码长度应该为6位");
return false;
}

if(!isNumber( secCode ) ){
alert("证券代码只能包含数字");

 
return false;
}
return true;
}

/****************************************************
function:cTrim(sInputString,iType)
description:字符串去空格的函数
parameters:iType:1=去掉字符串左边的空格

2=去掉字符串左边的空格
0=去掉字符串左边和右边的空格
return value:去掉空格的字符串
****************************************************/
function cTrim(sInputString,iType)
{
var sTmpStr = ' ';
var i = -1;

if(iType == 0 || iType == 1)
{
while(sTmpStr == ' ')
{
++i;
sTmpStr = sInputString.substr(i,1);
}
sInputString = sInputString.substring(i);
}

if(iType == 0 || iType == 2)
{
sTmpStr = ' ';
i = sInputString.length;
while(sTmpStr == ' ')
{
--i;
sTmpStr = sInputString.substr(i,1);
}
sInputString = sInputString.substring(0,i+1);
}
return sInputString;
}

/*

Javascript 相关文章推荐
JavaScript 字符编码规则
May 04 Javascript
JS字符串拼接在ie中都报错的解决方法
Mar 27 Javascript
js实现同一个页面多个渐变效果的方法
Apr 10 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
Nov 24 Javascript
jquery 属性选择器(匹配具有指定属性的元素)
Sep 06 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
jQuery模拟淘宝购物车功能
Feb 27 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
Aug 08 Javascript
基于es6三点运算符的使用方法(实例讲解)
Oct 12 Javascript
基于 D3.js 绘制动态进度条的实例详解
Feb 26 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
Jul 10 Javascript
从Node.js事件触发器到Vue自定义事件的深入讲解
Jun 26 Javascript
禁止刷新,回退的JS
Nov 25 #Javascript
用函数式编程技术编写优美的 JavaScript
Nov 25 #Javascript
通过JAVASCRIPT读取ASP设定的COOKIE
Nov 24 #Javascript
键盘控制事件应用教程大全
Nov 24 #Javascript
Javascript操纵Cookie实现购物车程序
Nov 23 #Javascript
删除重复数据的算法
Nov 23 #Javascript
在JavaScript中实现命名空间
Nov 23 #Javascript
You might like
yii实现创建验证码实例解析
2014/07/31 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
php实现自定义中奖项数和概率的抽奖函数示例
2017/05/26 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
jQuery可见性过滤选择器用法示例
2016/09/09 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
2018/09/12 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
Openlayers学习之加载鹰眼控件
2020/09/28 Javascript
使用C++扩展Python的功能详解
2018/01/12 Python
numpy linalg模块的具体使用方法
2019/05/26 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
python 监测内存和cpu的使用率实例
2019/11/28 Python
python绘制玫瑰的实现代码
2020/03/02 Python
查看keras各种网络结构各层的名字方式
2020/06/11 Python
Python 实现简单的客户端认证
2020/07/29 Python
水务局局长岗位职责
2013/11/28 职场文书
超市开学活动方案
2014/03/01 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
商业计划书之服装
2019/09/09 职场文书
golang gopm get -g -v 无法获取第三方库的解决方案
2021/05/05 Golang
python使用pymysql模块操作MySQL
2021/06/16 Python
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python