javaScript通用数据类型校验函数
来源:asp之家 发布时间:2009-07-06 12:49:00
本文介绍了一些JavaScript常用到得表单验证函数,方便大家使用。
判断是否为整数,是则返回true,否则返回false
function f_check_integer(obj)
{
if (/^(\+|-)?\d+$/.test( obj.value ))
{
return true;
}
else
{
f_alert(obj,"请输入整数");
return false;
}
}
判断是否为实数,是则返回true,否则返回false
function f_check_float(obj)
{
if (/^(\+|-)?\d+($|\.\d+$)/.test( obj.value ))
{
return true;
}
else
{
f_alert(obj,"请输入实数");
return false;
}
}
校验数字的长度和精度
function f_check_double(obj){
var numReg;
var value = obj.value;
var strValueTemp, strInt, strDec;
var dtype = obj.eos_datatype;
var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
var len = pos_dtype[0], prec = pos_dtype[1];
try
{
numReg =/[\-]/;
strValueTemp = value.replace(numReg, "");
numReg =/[\+]/;
strValueTemp = strValueTemp.replace(numReg, "");
//整数
if(prec==0){
numReg =/[\.]/;
if(numReg.test(value) == true){
f_alert(obj, "输入必须为整数类型");
return false;
}
}
if(strValueTemp.indexOf(".") < 0 ){
if(strValueTemp.length >( len - prec)){
f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
return false;
}
}else{
strInt = strValueTemp.substr( 0, strValueTemp.indexOf(".") );
if(strInt.length >( len - prec)){
f_alert(obj, "整数位不能超过"+ (len - prec) +"位");
return false;
}
strDec = strValueTemp.substr( (strValueTemp.indexOf(".")+1), strValueTemp.length );
if(strDec.length > prec){
f_alert(obj, "小数位不能超过"+ prec +"位");
return false;
}
}
return true;
}catch(e){
alert("in f_check_double = " + e);
return false;
}
}
校验数字的最小最大值
返回bool
function f_check_interval(obj)
{
var value = parseFloat(obj.value);
var dtype = obj.eos_datatype;
var pos_dtype = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
var minLimit = pos_dtype[0];
var maxLimit = pos_dtype[1];
var minVal = parseFloat(pos_dtype[0]);
var maxVal = parseFloat(pos_dtype[1]);
if(isNaN(value))
{
f_alert(obj, "值必须为数字");
return false;
}
if((isNaN(minVal) && (minLimit != "-")) || (isNaN(maxVal) && (maxLimit != "+")))
{
f_alert(obj, "边界值必须为数字或-、+");
return false;
}
if(minLimit == "-" && !isNaN(maxVal))
{
if(value > maxVal)
{
f_alert(obj, "值不能超过" + maxVal);
return false;
}
}
if(!isNaN(minVal) && maxLimit == "+")
{
if(value < minVal)
{
f_alert(obj, "值不能小于" + minVal);
return false;
}
}
if(!isNaN(minVal) && !isNaN(maxVal))
{
if(minVal > maxVal)
{
f_alert(obj, "起始值" + minVal + "不能大于终止值" + maxVal);
}else
{
if(!(value <= maxVal && value >= minVal))
{
f_alert(obj, "值应该在" + minVal + "和" + maxVal + "之间");
return false;
}
}
}
return true;
}
猜你喜欢
- 前不久听到这样一个面试的故事:面试官:你准备在我们公司做些什么事情?(大致这个意思)面试人:我准备在公司做网站重构,把原来是table的页面
- Mysql的安装方法 安装mysql的步骤如下:请注意按图中所示,有些选项和默认是不一样的。同时,如果您是重新安装mysql的话,要注意先备
- 以下是menu.asp代码 程序代码 <% '-----------------------------------
- Hi, 大家好~ 好久没有发有营养的东西,今天就扔一篇最近热点的Google Chrome 浏览器的试用心得吧。先说个比较搞的事情,Goog
- SQL Server查询速度慢的原因有很,常见的有以下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/
- 显然,效果很实用。对于这个效果,我们并不解释如何去使用效果库,而是讲解如何创建类似的效果,并保持他的可用性,分离式(unobtrusive)
- 大家都用过企业管理器中的--“收缩数据库”,里面的功能的确可以收缩数据库的日志文件(.ldf)和数据文件(.mdf),但都会发现同样的问题,
- 一个申请单可以包含N个项目,添加申请单时就需要动态加入代码了。 动态Table表格 <table border="0&quo
- 其中使用到一个分页类CPaging 代码如下:Class CPaging Public RS
- 我见朋友可以把数据库的记录显示到列表框里去,挺实用,也想做一个。怎么做啊?这简单,代码和说明如下:dblist.asp<html>
- 以下为测试例子。 1.首先创建两张临时表并录入测试数据: 代码如下:create table #temptest1 ( id i
- ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0)mysql> select ASCII(
- 今天暴风彬彬要讨论的网站可用 * ,是让你的网站文字链接提高一定的可用性,而且实现起来非常简单,其实这也算是提高用户体验的方法。扩大可点击区
- nofollow标签是Google2005年推出的,目的是尽量减少垃圾链接对搜索引擎的影响。有用过网页制作工具的人都知道,在这些工具里是找不
- 新年钟声刚过,淘宝新版首页全“心”上线了,这次设计大胆的将布局从 960px 伸展至 1000px,页面更通透,新首页更大范围的实践了 HT
- 许多网站缺乏针对性和友好的导航设计,难以找到连接到相关网页的路径,也没有提供有助于让访客/用户找到所需信息的帮助,用户体验非常糟糕。本期薯片
- ajax 同步请求和异步请求的差异分析,需要的朋友可以参考下。代码一:Synchronize = function(url,param) {
- 从去年六一儿童节的LOGO开始,我们就要求以后的每一个节日FLASH LOGO设计时除了具备创意故事外,还必须设计一个小的互动效果,当受众把
- 最近 UCDChina 以“注意界面上的文字”为主题写了一系列的文章,使我在界面文字上的使用受益匪浅。之后,我对按钮上的内容的表现也做了一些
- 今天同学向我提了一个问题,我觉得蛮有意思,现记录下来大家探讨下。问题是:在一个表里面,有一个允许为空的字段,空是可以重复的,但是不为空的值需