⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 validation.js

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JS
字号:
// ************************************// A variety of validation routines////  All routines return true or false//// checkDate -- checks if valid date// checkDigit -- checks if character provided is a single digit// checkNotEmpty  -- checks if empty// checkEmail -- check if valid email// checkNumber -- check if number// checkNumberLessThan -- check if number is less than a provided number// checkNumberGreaterThan -- check if number is greater than a provided number// checkPhone -- checks if a 10 digit phone number// checkCreditCardNumber -- checks if valid card number using Luhn's formula// checkCreditCardType -- checks if the credit card type is valid based on the credit card number//                         Master Card, Visa, American Express// ************************************/*    Checks if the string is a valid date formatted as...    mm dd yyyy, mm/dd/yyyy, mm.dd.yyyy, mm-dd-yyyy    http://codylindley.com/blogstuff/js/validation/*/function checkDate(str){	var re = /^(\d{1,2})[\s\.\/-](\d{1,2})[\s\.\/-](\d{4})$/	if (!re.test(str)) return false;	var result = str.match(re);	var m = parseInt(result[1]);	var d = parseInt(result[2]);	var y = parseInt(result[3]);	if(m < 1 || m > 12 || y < 1900 || y > 2100) return false;	if(m == 2){		var days = ((y % 4) == 0) ? 29 : 28;	}else if(m == 4 || m == 6 || m == 9 || m == 11){		var days = 30;	}else{		var days = 31;	}	return (d >= 1 && d <= days);}/* Check if character supplied is a digit*/function checkDigit(c) {    if (c.length != 1) return false;    var strAllowed = "1234567890";    return (strAllowed.indexOf (c) != -1);}/* Check for empty string, return true if empty, false otherwise*/function checkNotEmpty(strng) {    return (strng != "");}/* Email checking-- comes from Apple's example validation code http://developer.apple.com/internet/webcontent/examples/validate_source.html*/function checkEmail(strng) {    if (strng == "") {        return false;    }    // test email for an @ followed by characters and a .    var emailFilter=/^.+@.+\..{2,3}$/;    if (!(emailFilter.test(strng))) {        return false;    }    else {        //test email for illegal characters        var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/        if (strng.match(illegalChars)) {            return false;        }    }    return true;}/* Check if this is a number */function checkNumber(num) {    return (!(isNaN(parseInt(num))));}function checkNumberGreaterThan(num, compareNum) {    if (!checkNumber(num)) return false;    return (num > compareNum);}function checkNumberLessThan(num, compareNum) {    if (!checkNumber(num)) return false;    return (num < compareNum);}/* phone number - strip out delimiters and check for 10 digits -- also from Apple*/function checkPhone(strng) {    if (strng == "") {        return false;    }    // check that phone number doesn't contain illegal chars    var stripped = strng.replace(/[\(\)\.\-\ ]/g, ''); //strip out acceptable non-numeric characters    if (isNaN(parseInt(stripped))) {        return false;    }    // check length of phone number    if (!(stripped.length == 10)) {        return false;    }    return true;}/* Check if this credit card number is valid*/function checkCreditCardNumber (strNum) {    var nCheck = 0;    var bEven = false;    for (n = strNum.length - 1; n >= 0; n--) {        var cDigit = strNum.charAt (n);        if (isDigit (cDigit)) {            var nDigit = parseInt(cDigit, 10);            if (bEven) {                if ((nDigit *= 2) > 9)                    nDigit -= 9;            }            nCheck += nDigit;            bEven = ! bEven;        } else if (cDigit != ' ' && cDigit != '.' && cDigit != '-') {            return false;        }    }    return (nCheck % 10) == 0;}/* Check if this credit card type is valid*/function checkCreditCardType(strNum, type) {    var nLen = 0;    for (n = 0; n < strNum.length; n++) {        if (isDigit (strNum.substring (n,n+1)))            ++nLen;    }    if (type == 'Visa')        return ((strNum.substring(0,1) == '4') && (nLen == 13 || nLen == 16));    else if (type == 'Amex')        return ((strNum.substring(0,2) == '34' || strNum.substring(0,2) == '37') && (nLen == 15));    else if (type == 'Master Card')        return ((strNum.substring(0,2) == '51' || strNum.substring(0,2) == '52'                || strNum.substring(0,2) == '53' || strNum.substring(0,2) == '54'                || strNum.substring(0,2) == '55') && (nLen == 16));    else        return false;}function validate( myform ) {    var inputFields = document.getElementById(myform.id).getElementsByTagName("input");    var valid = true;    var checkFunc = "";    var message = "";    for (i = 0; i < inputFields.length; i++) {        var checkFuncStr = inputFields[i].className;        var startIdx = 0;        var endIdx = checkFuncStr.length;        var done = false;        do {            startIdx = checkFuncStr.indexOf('check', startIdx);            if (startIdx >= 0) {                var lastIdx = checkFuncStr.indexOf('#', startIdx);                if (lastIdx > 0) {                    checkFunc = checkFuncStr.substring(startIdx, lastIdx);                    startIdx = lastIdx;                    var myfunc = checkFunc + "('" + inputFields[i].value + "')";                    valid = eval(myfunc);                    if (!valid) {                        var validateName = "val#" + inputFields[i].name + "#" + checkFunc;                        var hiddenField = document.getElementById(myform.id).elements[validateName];                        message = hiddenField.value;                        displayError( myform, message);                        return false;                    }                }            } else {                done = true;            }            if (startIdx >= endIdx - 5) done = true;        } while (!done)    }    return true;}function displayError( myform, message) {    var msgDiv = null;    var form = document.getElementById(myform.id);    var divs = form.getElementsByTagName("div");    for (i = 0; i < divs.length; i++) {        var errorDiv = divs[i].className;        if (errorDiv == "ui-messagebox-portlet-msg-error") {            msgDiv = divs[i];            msgDiv.childNodes[0].textContent = message;        }    }    if (!msgDiv) {        msgDiv = document.createElement("div");        msgDiv.className = "ui-messagebox-portlet-msg-error";        var msgSpan = document.createElement("span");        msgSpan.className = "portlet-msg-error";        var txt = document.createTextNode(message);        msgSpan.appendChild(txt);        msgDiv.appendChild(msgSpan);        form.insertBefore(msgDiv, form.childNodes[0]);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -