view-source:http://developer.netscape.com/docs/examples/javascript/formval/FormChek.js代码 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()
<form> <input id=tt value=3141592653587><input type=button value=check onclick=check(tt.value)> </form> <script> function check(str){ if(!isCreditCard(str))alert("未通过") alert("通过第一层验证:"+str) } 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() </script>
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()
<input id=tt value=3141592653587><input type=button value=check onclick=check(tt.value)>
</form>
<script>
function check(str){
if(!isCreditCard(str))alert("未通过")
alert("通过第一层验证:"+str)
}
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()
</script>