`

几个常用的小函数(检查是否为数字,否为电话号码,num是否是负数,检查是否为日期...)

J# 
阅读更多

//函数名:chkemail
//功能介绍:检查是否为Email Address
//参数说明:要检查的字符串
//返回值:0:不是 1:是
function chkemail(a)
{ var i=a.length;
var temp = a.indexOf('@');
var tempd = a.indexOf('.');
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)>0){
return 1;
}
}
}
return 0;
}

 


//函数名:fucCheckNUM
//功能介绍:检查是否为数字
//参数说明:要检查的数字
//返回值:1为是数字,0为不是数字
function fucCheckNUM(NUM)
{
var i,j,strTemp;
strTemp="0123456789";
if ( NUM.length== 0)
return 0
for (i=0;i {
j=strTemp.indexOf(NUM.charAt(i));
if (j==-1)
{
//说明有字符不是数字
return 0;
}
}
//说明是数字
return 1;
}

 

//函数名:fucCheckTEL
//功能介绍:检查是否为电话号码
//参数说明:要检查的字符串
//返回值:1为是合法,0为不合法
function fucCheckTEL(TEL)
{
var i,j,strTemp;
strTemp="0123456789-()# ";
for (i=0;i {
j=strTemp.indexOf(TEL.charAt(i));
if (j==-1)
{
//说明有字符不合法
return 0;
}
}
//说明合法
return 1;
}

 


//opt1 小数 opt2 负数
//当opt2为1时检查num是否是负数
//当opt1为1时检查num是否是小数
//返回1是正确的,0是错误的
function chknbr(num,opt1,opt2)
{
var i=num.length;
var staus;
//staus用于记录.的个数
status=0;
if ((opt2!=1) && (num.charAt(0)=='-'))
{
//alert("You have enter a invalid number.");
return 0;
}
//当最后一位为.时出错
if (num.charAt(i-1)=='.')
{
//alert("You have enter a invalid number.");
return 0;
}
for (j=0;j {
if (num.charAt(j)=='.')
{
status++;
}
if (status>1)
{
//alert("You have enter a invalid number.");
return 0;
}
if (num.charAt(j)<'0' || num.charAt(j)>'9' )
{
if (((opt1==0) || (num.charAt(j)!='.')) && (j!=0))
{
//alert("You have enter a invalid number.");
return 0;
}
}
}
return 1;
}

 

//函数名:chkspc
//功能介绍:检查是否含有空格
//参数说明:要检查的字符串
//返回值:0:是 1:不是
function chkspc(a)
{
var i=a.length;
var j = 0;
var k = 0;
while (k {
if (a.charAt(k) != " ")
j = j+1;
k = k+1;
}
if (j==0)
{
return 0;
}
if (i!=j)
{ return 2; }
else
{
return 1;
}
}

 

 

function searchCheck(beginDate, endDate, beginDay, endDay, beginBudget, endBudget,setOut,goal) {

    if (beginDate != "" && (chkDate(beginDate) == 0)) {
        alert("日期格式输入有误!");
 
    } else if (endDate != "" && chkDate(endDate) == 0) {
        alert("日期格式输入有误!");

    } else if (beginDay != "" && chkNum(beginDay)==0) {
        alert("天数必须为数字!");

    } else if (endDay != "" && chkNum(endDay) == 0) {
        alert("天数必须为数字!");
 
    } else if (beginBudget != "" && chkNum(beginBudget) == 0) {
        alert("预算金额必须为数字!");
     
    } else if (endBudget != "" && chkNum(endBudget) == 0) {
        alert("预算金额必须为数字!");
     
    } else {
    var searchVal = "";
    if (setOut != "") {
        searchVal += "&depatureCity=" + decodeURIComponent(setOut);
    } else {
        searchVal += "&depatureCity="
    }
    if (goal != "") {
        searchVal += "&target=" + goal;
    } else {
    searchVal += "&&target="
    }
     searchVal += "&beginDate=" + beginDate + "&endDate=" + endDate + "&beginDay=" + beginDay + "&endDay=" + endDay + "&beginBudget=" + beginBudget + "&endBudget=" + endBudget;
     window.open("SearchList.aspx?ActionType=Search" + searchVal);
    }  
}

 

 

//验证是否为数字
function chkNum(num) {
    var i, j, strTemp;
    strTemp = "0123456789";
    if (num.length <= 0) {
        return 0;
    }
    for (var i = 0; i < num.length; i++) {
        j = strTemp.indexOf(num.charAt(i));
        if (j == -1) {
            return 0;
        }
    }
    return 1;
}

//验证时间格式
function chkDate(date) {
    var dateStr;
    if (date != "" && date.length > 0) {
        dateStr = date.length;
    } else {
        return 0;
    }

    var tmpy = "";
    var tmpm = "";
    var tmpd = "";

    var status = 0;

    for (var i = 0; i < dateStr; i++) { //取出年,月,日
        var tmpStr = date.charAt(i);
        if (tmpStr == "-") {
            status++;
        }

        if (status > 2) {//验证-是否超过2个
            return 0;
        }

        if (tmpStr != "-" && status == 0) {//得到年
            tmpy += tmpStr;
        }

        if (tmpStr != "-" && status == 1) {//得到月
            tmpm += tmpStr;
        }

        if (tmpStr != "-" && status == 2) {//得到日
            tmpd += tmpStr;
        }
    }

    if (isNaN(tmpy) || isNaN(tmpm) || isNaN(tmpd)) {//输入的可能不是数字,那么假设没加该判断:dddd % 4这样计算在js中得到结果为NaN,非数字,所以我们这里判断输入的是否为数字.
        return 0;
    }

    if (tmpy.length != 4 || tmpm.length > 2 || tmpd.length > 2) {
        return 0;/ /验证年的位数必须等于4,验证月必须小于2,验证日必须小于2
    }

    if (!((1 <= tmpm) && (12 >= tmpm) && (1 <= tmpd) && (31 >= tmpd))) {
        return 0;//验证月格式,和日格式是否正确
    }

    if (!(tmpy % 4 == 0) && (tmpm == 2) && (tmpd >= 29)) {
        return 0;//不能被4整除的为平年(如果不能被4整除,并且月份为2,天数为29,则该日期格式错误,平年二月无29日)
    }

    if ((tmpm <= 7) && (tmpm % 2 == 0) && (tmpd >= 31)) {
        return 0;//一、三、五、七、八、十、十二月定为大月,二,四,六,九,十一月定为小月,这里几个判断是为了验证大小月
    }

    if (tmpm >= 8 && (tmpm % 2 == 1) && (tmpd >= 31)) {
        return 0;
    }

    if (tmpm == 2 && tmpy == 30) {
        return 0;
    }

}

 

分享到:
评论

相关推荐

    EXCEL函数功能整理版

    18 AND 这个函数用于检验两个或更多(最多30个)条件,看它们是否都为TRUE. 19 CELL 返回某一引用区域的左上角单元格的格式、位置或内容等信息。 20 CEILING 这个函数可以根据用户要求把一个数字向上...

    c程序设计习题参考(谭浩强三版)习题参考解答

    8.13写几个函数:(1)输入10个职工的姓名和职工号;(2)按职工号由小到大排序,姓名顺序也随之调整;(3)要求输入一个职工号,用折半查找法找出该职工的姓名。 61 8.14写一函数,输入一个十六进制数,输出相应的...

    上海电机学院C语言实训答案

    ① 用函数 int IsNumberEqual(int number) 检查输入的整数number各数码是否互不相等,全相等返回值为1否则为0; ② 用函数(void ntos (int number, int c[]) )把四位数整数number各位数码分别存入数组c ③ 用函数( ...

    Python一个随机生成四则运算题目的小程序

    它包含以下几个函数: 1. `generate_random_number()`: 生成一个随机整数,范围在1到100之间。 2. `generate_random_operator()`: 从加减乘除四个运算符中随机选择一个。 3. `generate_math_question()`: 生成一个...

    语言程序设计课后习题答案

    采用二进制码表示信息,有如下几个优点:1.易于物理实现;2.二进制数运算简单;3.机器可靠性高;4.通用性强。其缺点是它表示数的容量较小,表示同一个数,二进制较其他进制需要更多的位数。 1-9 请将以下十进制数值...

    num2eng:将数字转换为工程符号字符串,或改用 SI 前缀。 提供广泛的定制。 也适用于轴刻度标签。-matlab开发

    在文件交换的几个 num2eng 和 num2si 函数中,这个提交的独特之处在于: • 支持标量、向量和矩阵输入 •可以处理轴和颜色栏刻度标签,包括在刻度变化时(例如,由于极限变化,图形尺寸调整等)使刻度标签保持...

    SuperNotepad

    rgb(num,num,num) 生成RGB值 num:0~255 typename(...) 类型 space(num) 生成若干空格 string(num,"") 生成字符串 left("",num) 取字符左边Num位 right("",num) 取字符右边Num位 lcase("") 小写 ucase("") ...

    程序员二进制计算器 v1.36

    %num对结果以万、亿等为单位输出,用于便捷得到一个大数的值,格式符合中国人的习惯: 当结果万时,原样输出,例如: %num 8844.43 = 8844.43 (珠穆朗玛峰海拔,单位米) 当结果&gt;=1万且亿时,以万为单位输出...

    C 程序指导书及实践指导

    (1) 编写一个函数prime(n),返回给定整数n是否为素数。 (2) 编写一个主函数,输入一个整数,调用(1)中的函数,判断此整数是否为素数,并输出结果。 (3) 对于属于多函数程序,可以采用每个函数分别进行编辑、编译的...

    excel的使用

    图1(5) 多张工作表中输入相同的内容几个工作表中同一位置填入同一数据时,可以选中一张工作表,然后按住Ctrl键,再单击窗口左下角的Sheet1、Sheet2......来直接选择需要输入相同内容的多个工作表,接着在其中的...

    《数据结构 1800题》

    以上几个都是错误的 6. 下面说法错误的是(C )【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模 n下,复杂度O(n)的算法在时间上总是优于复杂度 O...

    grub4dos-V0.4.6a-2017-02-04更新

    占用 11Kb - 13Kb 内存(由是否加载光驱确定)。 3.支持 WinXP 系统的短文件名小写。根据短文件名偏移 0x0c 处:位 3=1 表示文件名小写,位 4=1 表示文件扩展名小写。 4.可以正确识别 mkisofs 2.00/2.01 生成有 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数,其中,M表示精度,代表数字的总位数;N表示小数点右边数字的位数 日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月...

    css入门笔记

    独立于任何网页位置处,声明一个样式文件(.css为后缀),在文件中声明样式,在使用的网页中引入.css文件。 使用步骤: 1.创建样式表文件(.css) 2.在样式文件中编写样式规则 3.在网页中对样式文件进行引入 &lt...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    如果你为变量var赋值为一个字符串,那么它变成了一个字符串。如果你又为它赋了整数值,那么它就变成了整数。" $foo = "0"; // $foo是字符串(ASCII 48) $foo++; // $foo是字符串"1" (ASCII 49) $foo += 1; // $foo...

    达内 coreJava 习题答案

    1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import java.util.Scanner; class ...

    PV操作 文档

    下面详细介绍一下 sembuf 的几个参数: -------------------------------------------------------------------------------------------------- sem_op 参数: sem_op &gt; 0 信号加上 sem_op 的值,表示进程释放...

    Python列表计数及插入实例

    本文实例讲述了Python列表计数及插入的用法...//若为负数,则代表倒数第几个   在对list进行操作时,append 追加,word.append(elements) elements是独立的,若为list时作为一个整体追加在word的后面,而不是延长word

Global site tag (gtag.js) - Google Analytics