Mam dwie liczby Gstin i Pan

Chcę dopasować numer Gstin, począwszy od 3 do 12, byłoby równeniu numeru panu.

Powinien generować alert, jeśli się nie pasuje

Na przykład

My PAN is : 1234567891

My GSTIN is : aa1234567891bbb

Wtedy jest poprawny

, ale

My PAN is : 1234567891

My GSTIN is : aa7894561239bbb

Wtedy jest źle

Szukałem w Google, ale nie mogę znaleźć żadnego rozwiązania, jest to możliwe? Poprowadź mnie we właściwym kierunku.

enter image description here

Próbowałem poniżej kodu z substr, ale nie mogę uzyskać tej wartości

var pan = document.getElementById("pan");
var unino = document.getElementById("gstin");

var res = unino.substr(2, 11);

document.getElementById("button").addEventListener("click", function() {
    alert( pan.value+'&'+res.value );
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />

<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
</head>
<style type="text/css">

</style>
<body>
<div class="container">
<form method="post">
<div class="form-group">
	<label>PAN</label>
	<div class="input-group">
  <input pattern=".{10,10}" maxlength="10" required="" type="text" class="form-control" name="pan" id="pan"  placeholder="PAN No 10 digist" value="" title="PAN Number must be 10 character"/>
	</div>
</div>

<div class="form-group">
  <label>gstin</label>
  <div class="input-group">
  <input required="" type="text" class="form-control" name="gstin" id="gstin"  placeholder="gstin" value=""/>
  </div>
</div>

<input type="submit" name="submit" value="submit" class="btn btn-primary" id="button">
</form>
</div>
</body>
</html>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
-2
Vishal Panara 26 czerwiec 2017, 09:39

4 odpowiedzi

Najlepsza odpowiedź

Znalazłem odpowiedź.

document.getElementById("button").addEventListener("click", function() {
  var pan = document.getElementById("pan").value;
  
  var unino = document.getElementById("gstin").value;

  var res = unino.substr(2, 10);
  if(pan!=res){
    alert("Wrong GSTIN Number...!");
  }else{
    alert("GST Number is matched.");
  }
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />

<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
</head>
<style type="text/css">

</style>
<body>
<div class="container">
<form method="post">
<div class="form-group">
	<label>PAN</label>
	<div class="input-group">
  <input pattern=".{10,10}" maxlength="10" required="" type="text" class="form-control" name="pan" id="pan"  placeholder="PAN No 10 digist" value="" title="PAN Number must be 10 character"/>
	</div>
</div>

<div class="form-group">
  <label>gstin</label>
  <div class="input-group">
  <input required="" type="text" class="form-control" name="gstin" id="gstin"  placeholder="gstin" value=""/>
  </div>
</div>

<input type="button" name="submit" value="submit" class="btn btn-primary" id="button">
</form>
</div>
</body>
</html>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
0
Vishal Panara 10 lipiec 2017, 11:39

Przejdź do funkcji

//get value of StateCode / PAN Number / GST Number

var chkGstNum = checkGstNumber(stateCode, panNum, gstNum);
if(chkGstNum == 0) // Error Code
else // Success Code 

Funkcjonować

function checkGstNumber(stateCode, panNum, gstNum)
{
    var GstateCode = gstNum.substr(0, 2);
    var GpanNum = gstNum.substring(2, 12);
    var GEnd = gstNum.substring(12,14);

    if(stateCode != GstateCode)
    {
        alert("Invalid GST Number.");
        return false;
    } 
    if(panNum != GpanNum)
    {
        alert("Invalid GST Number.");
        return false;
    }
    if(GEnd != '1Z')
    {
        alert("Invalid GST Number.");
        return false;   
    }
    if(gstNum.length != 15)
    {
        alert("Invalid GST Number.");
        return false;
    }

    return true;
}
0
Rahul Shukla 27 marzec 2018, 07:03

Wystarczy wyszukać PAN ciąg w łańcuchu GST. Jeśli znajdzie PAN ciąg w GST i index jest 2, a następnie jest mecz. W przeciwnym razie nie.

Mam nadzieję, że to pomoże.

Możesz użyć metody search jak poniżej

GST.search(PAN);
0
Jay Parikh 26 czerwiec 2017, 06:44

Jest to zaktualizowany kawałek JS, który byłby dla ciebie działał. Ale potwierdziłoby to tylko długości i jeśli Gstin zawiera PAN.

var pan = document.getElementById("pan");
var unino = document.getElementById("gstin");
document.getElementById("button").addEventListener("click", function() {
    if (!(unino && unino.length == 15 && unino.indexOf(pan) == 2)){
        alert( pan.value+'&'+res.value );
    }
});

Powinien być walidacje Regex, a także przypuszczam, że dla prawidłowego formatu obu w HTML.

Wzór do patelni powinien być - "[A-Za-z]{5}[0-9]{4}[a-zA-Z]"

Że dla gstin powinien być - "[0-9]{2}[A-Za-z]{5}[0-9]{4}[a-zA-Z][0-9]{1}[a-zA-Z]{1}[0-9]{1}"

1
Rajeev Ranjan 26 czerwiec 2017, 07:05