SitePoint Sponsor

User Tag List

Results 1 to 7 of 7
  1. #1
    SitePoint Guru
    Join Date
    Oct 2011
    Posts
    658
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    comparison of two variables using match

    Hi,

    Good day!

    I have problem in checking if the two values of variables is match or like.

    sample 1:

    in this sample 1 my condition works fine.
    Code:
    lot_number = LO130227003
    lot_number_scan = LO130227003
    
    if(lot_number === lot_number_scan)
    {
    alert('correct');
    }
    else
    {
    alert('wrong');
    }
    sample 2:
    in this sample 2 my condition did not work.
    Code:
    lot_number = LO130227003-LO130228001
    lot_number_scan = LO130227003
     
    if(lot_number === lot_number_scan)
    {
    alert('correct');
    }
    else
    {
    alert('wrong');
    }
    I tried to find the solution in this problem but I can't find the same problem.
    I want to happen is:


    Code:
    if(LO130227003-LO130228001 LIKE OR Match LO130227003)
    {
    alert('correct');
    }
    elseif(LO130227003-LO130228001 LIKE OR Match LO130227003LO130228001)
    {
    alert('correct');
    }
    else
    {
    alert('wrong');
    }
    I don't know what syntax should I used.

    here is my code:
    HTML Code:
    function sequence(varid)
    {
        
       var a=  varid.indexOf("/")
      var b=  varid.slice(0,a); 
       b =  parseInt(b)
        c= (b+1)
    var f = varid.slice(a); 
    
    
     if (window.event.keyCode==13 || window.event.keyCode==10) {
    
     var lot_number = document.getElementsByName("lot_number")[b].value;
     var lot_number_scan = document.getElementsByName("lot_number_scan")[b].value;
    
    var counting = document.getElementsByName("lot_number_scan");
    
    counting = counting.length;
    
     var newid = c + f
     if(c == counting)
     {
      document.getElementById("issued_by").focus();    
     }
     else
     {
      //----In this part I need to check if lot_number like lot_number_scan
     if(lot_number === lot_number_scan)       
     {  
     document.getElementById(newid).focus();     
     }
     else{
        document.getElementsByName("lot_number_scan")[b].value = ''; 
        document.getElementsByName("lot_number_scan")[b].focus(); 
     }
     }
    
     }
    }
    I hope someday can help me to fix this problem.

    Thank you so much.

  2. #2
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,938
    Mentioned
    214 Post(s)
    Tagged
    12 Thread(s)
    Hi there,

    Presuming LO130227003 and LO130228001 are both strings, this won't work:

    Code JavaScript:
    lot_number = LO130227003-LO130228001

    The reason is that if you try to subtract two strings in JS, the interpreter will first cast them to numbers and then perform the arithmetic.
    Your calculation will return NaN, which is not equal to whatever value lot_number_scan holds.

    Code JavaScript:
    if(lot_number === lot_number_scan)

    To put it another way, why don't you tell us a little more about what you are trying to do.
    Then post a bare bones example which we can can copy, paste and run, as well as telling us what's not working.

    I'm sure this won't be too hard to figure out

  3. #3
    SitePoint Member
    Join Date
    Mar 2013
    Posts
    4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I did some research on split variables on Javascript, see if any of these resources are helpful to you. Happy coding! http://www.verious.com/board/AKumar/...ipt-functions/

  4. #4
    SitePoint Guru
    Join Date
    Oct 2011
    Posts
    658
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    How can use split string in javascript? especially in this scenario.

    Thank you so much.

  5. #5
    SitePoint Guru
    Join Date
    Oct 2011
    Posts
    658
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi,

    I tried this code:

    Code:
    <script type = "text/javascript">
    
    var lot_number = "LO130227003-LO130228001";
    var lot_number_scan = "LO130227003";
    //alert (new RegExp(lot_number_scan,"gi").test(lot_number)); 
    
    var lot_number = "LO130227003-LO130228001";
    var lot_number_scan = "LO130228001";
    //alert (new RegExp(lot_number_scan,"gi").test(lot_number)); 
    
    var lot_number = "LO130227003-LO130228001";
    var lot_number_scan = "LO130227003LO130228001";
    alert (new RegExp(lot_number_scan,"gi").test(lot_number)); 
    
    
    </script>
    and the first and second alert is true but in the third alert the result is false.

    how can I make it true, if the real data of lot_number_scan is like that?
    Thank you so much

  6. #6
    SitePoint Guru
    Join Date
    Oct 2011
    Posts
    658
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hi

    Good day!

    I did'nt match the number. I just want to happen is if lot_number has match or like in lot_number_scan it will be true. I want to check for example.

    lot_number = 'LO130227003-LO130228001'
    lot_number_scan = 'LO130227003LO130228001'

    if lot_number_scan has equivalent or match data in lot_number_scan.

    for example:

    if(lot_number == LO130227003')
    {
    true
    }
    elseif(lot_number == LO130228001')
    {
    true
    }
    elseif(lot_number == LO130227003LO130228001')
    {
    true
    }
    else{
    false
    }

    Thank you

  7. #7
    Gre aus'm Pott gold trophysilver trophybronze trophy
    Pullo's Avatar
    Join Date
    Jun 2007
    Location
    Germany
    Posts
    5,938
    Mentioned
    214 Post(s)
    Tagged
    12 Thread(s)
    Hi,

    Sorry for the late reply.
    I'm still a little unsure what you're trying to do (which is probably just me), so let's recap:

    You have two strings:

    lot_number = 'LO130227003-LO130228001'
    lot_number_scan = 'LO130227003LO130228001'

    You want to check three things:

    1) if lot_number contains the string "LO130227003"
    2) if lot_number contains the string "LO130228001"
    3) if, when you remove the minus, lot_number is the same as lot_number_scan

    Is this correct?


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •