?? jsinclude.js
字號:
else return true;
}
}
// takes ZIPString, a string of 5 or 9 digits;
// if 9 digits, inserts separator hyphen
function reformatZIPCode (ZIPString)
{ if (ZIPString.length == 5) return ZIPString;
else return (reformat (ZIPString, "", 5, "-", 4));
}
// checkZIPCode (TEXTFIELD theField [, BOOLEAN emptyOK==false])
//
// Check that string theField.value is a valid ZIP code.
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkZIPCode (theField, emptyOK)
{ if (checkZIPCode.arguments.length == 1) emptyOK = defaultEmptyOK;
if ((emptyOK == true) && (isEmpty(theField.value))) return true;
else
{ var normalizedZIP = stripCharsInBag(theField.value, ZIPCodeDelimiters)
if (!isZIPCode(normalizedZIP, false))
return warnInvalid (theField, iZIPCode);
else
{ // if you don't want to insert a hyphen, comment next line out
theField.value = reformatZIPCode(normalizedZIP)
return true;
}
}
}
// takes USPhone, a string of 10 digits
// and reformats as (123) 456-789
function reformatUSPhone (USPhone)
{ return (reformat (USPhone, "(", 3, ") ", 3, "-", 4))
}
// checkUSPhone (TEXTFIELD theField [, BOOLEAN emptyOK==false])
//
// Check that string theField.value is a valid US Phone.
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkUSPhone (theField, emptyOK)
{ if (checkUSPhone.arguments.length == 1) emptyOK = defaultEmptyOK;
if ((emptyOK == true) && (isEmpty(theField.value))) return true;
else
{ var normalizedPhone = stripCharsInBag(theField.value, phoneNumberDelimiters)
if (!isUSPhoneNumber(normalizedPhone, false))
return warnInvalid (theField, iUSPhone);
else
{ // if you don't want to reformat as (123) 456-789, comment next line out
theField.value = reformatUSPhone(normalizedPhone)
return true;
}
}
}
// checkInternationalPhone (TEXTFIELD theField [, BOOLEAN emptyOK==false])
//
// Check that string theField.value is a valid International Phone.
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkInternationalPhone (theField, emptyOK)
{ if (checkInternationalPhone.arguments.length == 1) emptyOK = defaultEmptyOK;
if ((emptyOK == true) && (isEmpty(theField.value))) return true;
else
{ if (!isInternationalPhoneNumber(theField.value, false))
return warnInvalid (theField, iWorldPhone);
else return true;
}
}
// checkEmail (TEXTFIELD theField [, BOOLEAN emptyOK==false])
//
// Check that string theField.value is a valid Email.
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkEmail (theField, emptyOK)
{ if (checkEmail.arguments.length == 1) emptyOK = defaultEmptyOK;
if ((emptyOK == true) && (isEmpty(theField.value))) return true;
else if (!isEmail(theField.value, false))
return warnInvalid (theField, iEmail);
else return true;
}
// takes SSN, a string of 9 digits
// and reformats as 123-45-6789
function reformatSSN (SSN)
{ return (reformat (SSN, "", 3, "-", 2, "-", 4))
}
// Check that string theField.value is a valid SSN.
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkSSN (theField, emptyOK)
{ if (checkSSN.arguments.length == 1) emptyOK = defaultEmptyOK;
if ((emptyOK == true) && (isEmpty(theField.value))) return true;
else
{ var normalizedSSN = stripCharsInBag(theField.value, SSNDelimiters)
if (!isSSN(normalizedSSN, false))
return warnInvalid (theField, iSSN);
else
{ // if you don't want to reformats as 123-456-7890, comment next line out
theField.value = reformatSSN(normalizedSSN)
return true;
}
}
}
// Check that string theField.value is a valid Year.
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkYear (theField, emptyOK)
{ if (checkYear.arguments.length == 1) emptyOK = defaultEmptyOK;
if ((emptyOK == true) && (isEmpty(theField.value))) return true;
if (!isYear(theField.value, false))
return warnInvalid (theField, iYear);
else return true;
}
// Check that string theField.value is a valid Month.
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkMonth (theField, emptyOK)
{ if (checkMonth.arguments.length == 1) emptyOK = defaultEmptyOK;
if ((emptyOK == true) && (isEmpty(theField.value))) return true;
if (!isMonth(theField.value, false))
return warnInvalid (theField, iMonth);
else return true;
}
// Check that string theField.value is a valid Day.
//
// For explanation of optional argument emptyOK,
// see comments of function isInteger.
function checkDay (theField, emptyOK)
{ if (checkDay.arguments.length == 1) emptyOK = defaultEmptyOK;
if ((emptyOK == true) && (isEmpty(theField.value))) return true;
if (!isDay(theField.value, false))
return warnInvalid (theField, iDay);
else return true;
}
// checkDate (yearField, monthField, dayField, STRING labelString [, OKtoOmitDay==false])
//
// Check that yearField.value, monthField.value, and dayField.value
// form a valid date.
//
// If they don't, labelString (the name of the date, like "Birth Date")
// is displayed to tell the user which date field is invalid.
//
// If it is OK for the day field to be empty, set optional argument
// OKtoOmitDay to true. It defaults to false.
function checkDate (yearField, monthField, dayField, labelString, OKtoOmitDay)
{ // Next line is needed on NN3 to avoid "undefined is not a number" error
// in equality comparison below.
if (checkDate.arguments.length == 4) OKtoOmitDay = false;
if (!isYear(yearField.value)) return warnInvalid (yearField, iYear);
if (!isMonth(monthField.value)) return warnInvalid (monthField, iMonth);
if ( (OKtoOmitDay == true) && isEmpty(dayField.value) ) return true;
else if (!isDay(dayField.value))
return warnInvalid (dayField, iDay);
if (isDate (yearField.value, monthField.value, dayField.value))
return true;
//alert (iDatePrefix + labelString + iDateSuffix)
return false
}
// Get checked value from radio button.
function getRadioButtonValue (radio)
{ for (var i = 0; i < radio.length; i++)
{ if (radio[i].checked) { break }
}
return radio[i].value
}
// Validate credit card info.
function checkCreditCard (radio, theField)
{ var cardType = getRadioButtonValue (radio)
var normalizedCCN = stripCharsInBag(theField.value, creditCardDelimiters)
if (!isCardMatch(cardType, normalizedCCN))
return warnInvalid (theField, iCreditCardPrefix + cardType + iCreditCardSuffix);
else
{ theField.value = normalizedCCN
return true
}
}
/* ================================================================
Credit card verification functions
Originally included as Starter Application 1.0.0 in LivePayment.
20 Feb 1997 modified by egk:
changed naming convention to initial lowercase
(isMasterCard instead of IsMasterCard, etc.)
changed isCC to isCreditCard
retained functions named with older conventions from
LivePayment as stub functions for backward
compatibility only
added "AMERICANEXPRESS" as equivalent of "AMEX"
for naming consistency
================================================================ */
/* ================================================================
FUNCTION: isCreditCard(st)
INPUT: st - a string representing a credit card number
RETURNS: true, if the credit card number passes the Luhn Mod-10
test.
false, otherwise
================================================================ */
function isCreditCard(st) {
// Encoding only works on cards with less than 19 digits
if (st.length > 19)
return (false);
sum = 0; mul = 1; l = st.length;
for (i = 0; i < l; i++) {
digit = st.substring(l-i-1,l-i);
tproduct = parseInt(digit ,10)*mul;
if (tproduct >= 10)
sum += (tproduct % 10) + 1;
else
sum += tproduct;
if (mul == 1)
mul++;
else
mul--;
}
// Uncomment the following line to help create credit card numbers
// 1. Create a dummy number with a 0 as the last digit
// 2. Examine the sum written out
// 3. Replace the last digit with the difference between the sum and
// the next multiple of 10.
// document.writeln("<BR>Sum = ",sum,"<BR>");
// alert("Sum = " + sum);
if ((sum % 10) == 0)
return (true);
else
return (false);
} // END FUNCTION isCreditCard()
/* ================================================================
FUNCTION: isVisa()
INPUT: cc - a string representing a credit card number
RETURNS: true, if the credit card number is a valid VISA number.
false, otherwise
Sample number: 4111 1111 1111 1111 (16 digits)
================================================================ */
function isVisa(cc)
{
if (((cc.length == 16) || (cc.length == 13)) &&
(cc.substring(0,1) == 4))
return isCreditCard(cc);
return false;
} // END FUNCTION isVisa()
/* ================================================================
FUNCTION: isMasterCard()
INPUT: cc - a string representing a credit card number
RETURNS: true, if the credit card number is a valid MasterCard
number.
false, otherwise
Sample number: 5500 0000 0000 0004 (16 digits)
================================================================ */
function isMasterCard(cc)
{
firstdig = cc.substring(0,1);
seconddig = cc.substring(1,2);
if ((cc.length == 16) && (firstdig == 5) &&
((seconddig >= 1) && (seconddig <= 5)))
return isCreditCard(cc);
return false;
} // END FUNCTION isMasterCard()
/* ================================================================
FUNCTION: isAmericanExpress()
INPUT: cc - a string representing a credit card number
RETURNS: true, if the credit card number is a valid American
Express number.
false, otherwise
Sample number: 340000000000009 (15 digits)
================================================================ */
function isAmericanExpress(cc)
{
firstdig = cc.substring(0,1);
seconddig = cc.substring(1,2);
if ((cc.length == 15) && (firstdig == 3) &&
((seconddig == 4) || (seconddig == 7)))
return isCreditCard(cc);
return false;
} // END FUNCTION isAmericanExpress()
/* ================================================================
FUNCTION: isDinersClub()
INPUT: cc - a string representing a credit card number
RETURNS: true, if the credit card number is a valid Diner's
Club number.
false, otherwise
Sample number: 30000000000004 (14 digits)
================================================================ */
function isDinersClub(cc)
{
firstdig = cc.substring(0,1);
seconddig = cc.substring(1,2);
if ((cc.length == 14) && (firstdig == 3) &&
((seconddig == 0) || (seconddig == 6) || (seconddig == 8)))
return isCreditCard(cc);
return false;
}
/* ================================================================
FUNCTION: isCarteBlanche()
INPUT: cc - a string representing a credit card number
RETURNS: true, if the credit card number is a valid Carte
Blanche number.
false, otherwise
================================================================ */
function isCarteBlanche(cc)
{
return isDinersClub(cc);
}
/* ================================================================
FUNCTION: isDiscover()
INPUT: cc - a string representing a credit card number
RETURNS: true, if the credit card number is a valid Discover
card number.
false, otherwise
Sample number: 6011000000000004 (16 digits)
================================================================ */
function isDiscover(cc)
{
first4digs = cc.substring(0,4);
if ((cc.length == 16) && (first4digs == "6011"))
return isCreditCard(cc);
return false;
} // END FUNCTION isDiscover()
/* ================================================================
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -