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.


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.


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:


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:


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.

Hi there,

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

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.

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 :slight_smile:

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/split-variables-in-java-script-functions/

How can use split string in javascript? especially in this scenario.

Thank you so much.

Hi,

I tried this 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

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

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?