javaScript通用数据类型校验函数(5)
来源:asp之家 发布时间:2009-07-06 12:49:00
判断字符串是否符合指定的正则表达式
function f_check_formatStr(obj)
{
var str = obj.value;
var dtype = obj.eos_datatype;
var regu = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //指定的正则表达式
var re = new RegExp(regu);
if(re.test(str))
return true;
f_alert(obj , "不符合指定的正则表达式要求");
return false;
}
断是否为日期(格式:yyyy年MM月dd日,yyyy-MM-dd,yyyy/MM/dd,yyyyMMdd)
提示信息:未输入或输入的日期格式错误!
使用:f_check_date(obj)
返回:bool
function f_check_date(obj)
{
var date = Trim(obj.value);
var dtype = obj.eos_datatype;
var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //日期格式
var year,month,day,datePat,matchArray;
if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2})$/.test(format))
datePat = /^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
else if(/^(y{4})(年)(M{1,2})(月)(d{1,2})(日)$/.test(format))
datePat = /^(\d{4})年(\d{1,2})月(\d{1,2})日$/;
else if(format=="yyyyMMdd")
datePat = /^(\d{4})(\d{2})(\d{2})$/;
else
{
f_alert(obj,"日期格式不对");
return false;
}
matchArray = date.match(datePat);
if(matchArray == null)
{
f_alert(obj,"日期长度不对,或日期中有非数字符号");
return false;
}
if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2})$/.test(format))
{
year = matchArray[1];
month = matchArray[3];
day = matchArray[4];
} else
{
year = matchArray[1];
month = matchArray[2];
day = matchArray[3];
}
if (month < 1 || month > 12)
{
f_alert(obj,"月份应该为1到12的整数");
return false;
}
if (day < 1 || day > 31)
{
f_alert(obj,"每个月的天数应该为1到31的整数");
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31)
{
f_alert(obj,"该月不存在31号");
return false;
}
if (month==2)
{
var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0));
if (day>29)
{
f_alert(obj,"2月最多有29天");
return false;
}
if ((day==29) && (!isleap))
{
f_alert(obj,"闰年2月才有29天");
return false;
}
}
return true;
}


猜你喜欢
- buffer:下载数据缓冲区,以字节为单位,缺省依赖操作系统 consistent:下载期间所涉及的数据保持read only,缺省为n d
- 今天遇到多条件搜索,其中需要用到in查询,但是laravel不支持 [ 'type', 'in', '
- 除了实现新的种类的对象以外,类有时有用于扩展Python的内置类型的功能。主要有以下两种技术:通过嵌入扩展类型下例把一些集合函数变成方法,而
- def ddns():"""用当前ip更新ddns"""headers = {&
- 编程是数据科学中不可或缺的技能,虽然创建脚本来执行基本功能很容易,但编写大规模可读性良好的代码需要更多的思考。关于PEP-8pycodest
- 01 InnoDB ReplicaSet(副本集)介绍 在MySQL8.0引入了InnoD
- 1、创建表1.1、创建表基本语法CREATE TABLE tablename (column_name_1 column_type_1 co
- 今天学习Numpy时,想到了一个小问题。在Numpy中,随机生成array是比较容易的,用np.random.rand即可。如下a = np
- 本文实例为大家分享了python脚本筛选出两个文件中重复的行数,供大家参考,具体内容如下'''查找A文件中,与B文件
- 译序:本文提到了一种很不错的实现跨浏览器圆角的解决方案,但是说的不够全面,前端观察最近将整理更多更全面的资源给大家,敬请期待。前一段时间,我
- 这篇文章主要介绍了js神秘的电报密码 哈弗曼编码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以
- python读取pdf文档一、 准备工作安装对应的库pip install pdfminer3kpip install pdfminer.s
- 这里记录一下pytorch神经网络参数管理方法(参数访问、参数初始化、参数绑定),方便自己和需要的朋友学习、查阅。一、参数访问1.1 访问指
- 如果你有一堆 PPT 要做,他们的格式是一样的,只是填充的内容不一样,那你就可以使用 Python 来减轻你的负担。PPT 分为内容和格式,
- 一、安装mongo plugs插件File->SettingPlugins查询Mongo选择Search in repositorie
- 1.typeoftypeof是一个运算符,有2种使用方式:typeof(表达式)和typeof 变量名,第一种是对表达式做运算,第二种是对变
- 前言数据分析就是将数据以各种图表的形式展现给领导,供领导做决策用,因此熟练掌握饼图、柱状图、线图等图表制作是一个数据分析师必备的技能。Pyt
- 一、什么是组件组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。二、组件用法
- 从文本文件中调出记录出现丢失换行?解决方法:<%Dim fsDim tsset fs=Server.Cr
- 一、前言CodeIgniter 是一个简单快速的PHP MVC框架。EllisLab 的工作人员发布了 CodeIgniter。CodeIg