www.webdeveloper.com
Results 1 to 10 of 10

Thread: comparison of two variables using match

  1. #1
    Join Date
    Oct 2011
    Posts
    350

    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
    Join Date
    Feb 2013
    Posts
    9
    I'm assuming your lot_number and lot_number_scan are strings. If you want to do matching with strings that are like each other, use regular expressions.

  3. #3
    Join Date
    Oct 2011
    Posts
    350
    waht do you mean regular expression can you give an example?

    Thank you

  4. #4
    Join Date
    Feb 2013
    Posts
    9
    Here's an entire page about regular expressions in JavaScript.

    https://developer.mozilla.org/en-US/...ar_Expressions

  5. #5
    Join Date
    Oct 2010
    Location
    Versailles, France
    Posts
    1,265
    Use search or test with something like this.

    Code:
    var lot_number_scan = LO130227003-LO130228001
    var lot_number_scan = LO130227003
    var pos, rgx = new RegExp(lot_number_scan,'gi');
    
    // Search a string for a specified value
    if (-1<(pos = lot_number_scan.search(rgx)) {
          // do something with the position of the match
    }
    // Test for in a string
    if (rgx.test(var lot_number_scan)){
          alert('correct');}
    else {
          alert('wrong');}

  6. #6
    Join Date
    Oct 2011
    Posts
    350
    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

  7. #7
    Join Date
    Oct 2011
    Posts
    350
    When I try your code:

    Code:
    <html>
    <head>
    <script type = "text/javascript">
      
    var lot_number_scan = LO130227003-LO130228001
    var lot_number_scan = LO130227003
    var pos, rgx = new RegExp(lot_number_scan,'gi');
    
    // Search a string for a specified value
    if (-1<(pos = lot_number_scan.search(rgx)) {
          // do something with the position of the match
    }
    // Test for in a string
    if (rgx.test(var lot_number_scan)){
          alert('correct');}
    else {
          alert('wrong');}
    
    </script>
    </head>
    <body>
    <b>Testing</b>
    </body>
    </html>
    this part:
    if (-1<(pos = lot_number_scan.search(rgx)) { become red

    } become red also the partner closing curly bracket


    if (rgx.test(var lot_number_scan)){ the var has color red line.


    What's wrong or missing in my codes.

    Thank you so much

  8. #8
    Join Date
    Oct 2010
    Location
    Versailles, France
    Posts
    1,265
    Sorry. The proposed code was not right.
    Code:
      
    var lot_number_scan = "LO130227003-LO130228001";
    var lot_number_scan = "LO130227003";
    var pos, rgx = new RegExp(lot_number_scan,'gi');
    
    var lot_number_scan = "LO130227003-LO130228001";
    var lot_number_scan = "LO130227003";
    var pos, rgx = new RegExp(lot_number_scan,'gi');
    
    // Search a string for a specified value
    if (-1<(pos = lot_number_scan.search(rgx))) {
          // do something with the position of the match
    }
    // Test for in a string
    if (rgx.test(lot_number_scan)){
          alert('correct');}
    else {
          alert('wrong');}
    Otherwise, there is no error in this code
    Code:
    var lot_number = "LO130227003-LO130228001";
    var lot_number_scan = "LO130227003LO130228001";
    alert (new RegExp(lot_number_scan,"gi").test(lot_number));
    lot_number do not contains lot_number_scan !
    Last edited by 007Julien; 03-11-2013 at 11:52 AM.

  9. #9
    Join Date
    Oct 2011
    Posts
    350
    I tried the two codes you said.

    The first one I got wrong output, the second is false.

    Thank you

  10. #10
    Join Date
    Oct 2011
    Posts
    350
    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

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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



Recent Articles