Beginner!!!! Need Help!!! :confused:

Discussion in 'Programming' started by sumanthan, Oct 23, 2012.

  1. #1
    validate check for social insurance number.

    social insurance number: only 9 digits (1-9), only number, should be input in three boxes, 3 digit in each boxes( if possible use auto tab)

    add the odd digits : means 1th,3dr,5th,7th, 9th digits together = odd digits sum value

    Extract the even digits: mean 2nd, 4th, 6th, 8th digits-- and multiply by *2, add all the even digits together only if it is less than 10

    if the 2nd, 4th, 6th, 8th digits is greater than 10 then , add like this ( for eg the 4th digit is 18 then add= 1+8)

    Then,

    odd digits sum value + the even digit sum value = multiple of ten (%10)



    <!DOCTYPE >

    <html>

    <head>
    <title></title>
    </head>
    <body>
    <script type="text/javascript">
    function Validation(sin)
    {
    var num = sin.match(/^(\d{3})-?\d{3}-?\d{3}$/);

    var numDashes = sin.split('-').length - 1;
    if (num == null || numDashes == 1) {
    alert('Invalid S.I.N. Must be 9 digits or in the form NNN-NNN-NNN.');
    msg = "does not appear to be valid";
    }
    else
    if (parseInt(num[1], 10) == 0) {
    alert("Invalid SIN: SIN's can't start with 000.");
    msg = "does not appear to be valid";
    }
    else {
    msg = "appears to be valid";
    alert(sin + "\r\n\r\n" + msg + " Social Insurance Number.");
    }

    if (!num.test(sin)) return false;
    sin = sin.split("-").join("");
    var checksum=0;
    for (var n = (2 - (sin.length % 2)); n <= sin.length; n += 2) {
    checksum += parseInt(sin.chartAt(n - 1));
    for (var n = (sin.length % 2) + 1; n < sin.length; n += 2)
    var digit = parseInt(sin.charAt(n - 1)) * 2
    if (digit < 10) {
    checksum += digit;
    }
    else {
    checksum += (digit - 9);
    }
    }
    if ((checksum % 10) == 0) return true; else return false;
    }

    </script>
    <form>
    <tt>
    SIN #: <input type="text" name="sin" size="11" maxlength="11"/> (use dashes!)
    </tt>
    <br/><br/>
    <input type="button" value="Validate Number" onclick="Validation(this.form.sin.value)"/>
    </form>
    </body>

    </html>

    Code is Not Working!!!!

    Can u Sent me a Solution for this!!!!!!!
     
    sumanthan, Oct 23, 2012 IP
  2. traxport121

    traxport121 Active Member

    Messages:
    1,201
    Likes Received:
    8
    Best Answers:
    1
    Trophy Points:
    63
    #2
    Have you tried to figure out the reason yourself?
     
    traxport121, Jan 1, 2013 IP
  3. Rukbat

    Rukbat Well-Known Member

    Messages:
    2,908
    Likes Received:
    37
    Best Answers:
    51
    Trophy Points:
    125
    #3
    "is not working" doesn't give us enough information to help you. What is it doing and what is it not doing?

    BTW, checksum += parseInt(sin.chartAt(n - 1));

    is a typo (I don't know if it's in your actual code). It's charAt, not chartAt.
     
    Rukbat, Jan 1, 2013 IP