`

几个常用的小函数(检查是否为数字,否为电话号码,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函数实例教程.pdf

    WEEKDAY函数返回一个日期的序列号,序列号为星期天至星期六的数字(1到7)。语法为WEEKDAY(serial_number, [return_type])。 17. WORKDAY函数 WORKDAY函数返回某日期往前数若干个工作日(排除周六和周日)后的日期...

    经常使用到的ASP常用函数汇总

    以上介绍了ASP中常用的几个函数及其用法,这些函数在实际开发过程中非常有用,能够帮助开发者更高效地处理数据和日期时间相关的操作。通过合理运用这些函数,可以显著提高程序的执行效率和可读性。

    判断一个数字是否是对称数字

    - 利用对称性质,可以计算出一半的数字,然后检查原始数字与这个“一半”的差值是否等于零。 - 这种方法适用于没有前导零的正整数。对于有前导零的数字,我们需要先处理掉这些零。 ```python def is_symmetric...

    VBScript常用函数

    以下是VBScript中几个主要类型的常用函数的详细介绍: 1. 数值型函数: - `Abs(num)`:返回给定数值的绝对值,无论该数值是正还是负。 - `Sgn(num)`:根据数值的符号返回1、0或-1,表示数值是正、零或负。 - `...

    数字转大写货币函数

    3. **递归处理**:利用递归函数,将数字分解为各个位数,然后分别转换。这种方法适用于各种大小的数字,但需要注意防止溢出。 4. **内置函数或库**:某些编程语言如Python有内置的函数或者第三方库可以方便地完成...

    Excel中的LEFT函数.pdf

    Excel中的LEFT函数是电子...LEFT函数在处理大量文本数据时具有很大的灵活性,可以用于提取邮政编码、电话号码的前几位、文件名的扩展名等。熟练掌握LEFT函数及其组合应用,能够极大地提高你在Excel中的数据处理效率。

    C语言实验报告6-函数.pdf

    实验报告中的内容详细介绍了几个关于C语言函数的关键知识点: 1. **函数定义与调用**: 函数定义包括函数名、返回类型和参数列表。例如,`void num()` 定义了一个名为 `num` 的无返回值函数。函数调用是通过在代码...

    C语言实验)输入若干非0实数直到输入0停止,要求输入的实数最大不超过20个,统计其中正数个数和负数个数。

    3. **变量声明与初始化**:我们需要声明并初始化几个变量来存储输入的实数、正数和负数的计数。例如,可以声明`float num`来存储当前输入的实数,`int positive_count`和`int negative_count`分别用来记录正数和负数...

    asp.net常用函数

    以下将详细介绍在ASP.NET中常见的几个函数:Abs、CallByName和CDec。 1. Abs函数: Abs函数是一个数学函数,用于返回指定数值的绝对值。在VB.NET或C#中,你可以这样使用它: ```csharp double num = -123.45; ...

    EXCEL函数功能整理版

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

    C# 位运算 判断是否为2的N次幂

    在这个函数中,我们首先检查输入的`num`是否小于等于0,因为负数和0都不是2的幂。然后进入循环,使用位与运算`(num & (num - 1))`。这个运算会清除`num`的最低位的1,如果`num`原本就是2的幂,那么这个运算结果会...

    数字转换成大写,例如:123 转换后:一百二十三

    总结来说,数字转换成大写汉字在Java中主要涉及以下几个知识点: 1. 字符串与数字之间的转换:`Integer.toString()` 和 `Integer.parseInt()` 方法。 2. 字符编码:了解ASCII码和汉字字符的关系。 3. 字符数组或...

    C库函数pdf

    这里列举了几个常用的字符串函数: - **atof**: 将字符串转换为双精度浮点数。 - 函数原型:`double atof(const char *str);` - 用途:将一个字符串转换为双精度浮点数。 - **atoi**: 将字符串转换为整数。 - ...

    计算机二级excel中常考公式及讲解.docx

    你可以直接选择一个区域或单独选择几个数字来应用这两个函数。 3. **四舍五入函数**: =ROUND(number, Num_digits) 这个函数用于四舍五入数字到指定的小数位数。Num_digits 参数表示需要保留的小数位数。例如,如果...

    float型数字转换为英文

    要将浮点型数字转换为英文,我们需要考虑以下几个关键点: 1. **整数部分**:整数部分的转换相对简单,只需将数字拆分为每一位,然后根据位值(个位、十位、百位等)匹配相应的英文单词。例如,数字123对应的英文是...

    如何将数字转换为中文大写?

    实现阿拉伯数字到中文大写的转换,可以分为以下几个步骤: 1. **分段处理**:根据数字的大小,将其拆分成亿、万、千、百、十、个等不同部分,然后逐个进行转换。 2. **零处理**:对于零的处理比较特殊,如果某一位...

    数字转换为十六进制数1

    描述中提供了几个关键点,这在实现转换算法时需要注意: 1. **十六进制字母的大小写**:在表示十六进制数时,字母`a-f`必须是小写形式。这意味着在输出结果中,`A-F`应当转换为`a-f`。 2. **禁止前导零**:十六...

    sl_num.rar_长整数

    长整数类的设计通常包括以下几个关键点: 1. **数据结构**:为了存储大整数,通常会使用数组或者链表来保存每一位数字,这允许我们处理任意长度的整数。 2. **基本运算**:实现加、减、乘、除等基本操作,需要考虑到...

Global site tag (gtag.js) - Google Analytics