jquery中的GST编号validatoin

时间:2017-06-15 15:02:20

标签: javascript jquery validation

我想在javascript或jquery中进行GST验证

仅限于印度。

印度的商品及服务税结构如下

GST Number will be of 15 digits having below validations:

a. First two positions will be numeric
b. Third to Sixth positions will be Alphabets
c. Seventh position will be either alphabet or numeric
d. Eighth to Eleventh positions will be numeric
e. Twelfth position will be an alphabet
f. Thirteenth to Fifteenth positions will be alphanumeric

13 个答案:

答案 0 :(得分:2)

([0-9]{2}[a-z]{4}([a-z]{1}|[0-9]{1}).[0-9]{3}[a-z]([a-z]|[0-9]){3})以下是GST验证的正则表达式

http://regexr.com/使用上述正则表达式测试您的GST值。

答案 1 :(得分:1)

用于GSTIN验证的正则表达式

/^([0-2][0-9]|[3][0-7])[A-Z]{3}[ABCFGHLJPTK][A-Z]\d{4}[A-Z][A-Z0-9][Z][A-Z0-9]$/

答案 2 :(得分:0)

以下是JavaScript中GST验证的正则表达式:

var reggst = /^([0-9]){2}([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}([0-9]){1}([a-zA-Z]){1}([0-9]){1}?$/;
if(!reggst.test(gstinVal) && gstinVal!=''){
        alert('GST Identification Number is not valid. It should be in this "11AAAAA1111Z1A1" format');
}

答案 3 :(得分:0)

var reggst = /^([0-9]){2}([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}([0-9]){1}([a-zA-Z]){1}([0-9]){1}?$/;
if(!reggst.test(gstinVal) && gstinVal!=''  && gstinval.length!=15){
        alert('GST Identification Number is not valid. It should be in this "11AAAAA1111Z1A1" format');
}

您可以简单地获取字段值的长度,并将其与您想要的计数进行比较。

答案 4 :(得分:0)

您可以使用正则表达式执行此操作,如下所示

var regex = /^\d{2}\w{4}[a-zA-Z0-9]{1}\d{3}\w{1}[a-zA-Z0-9]{3}$/i;

if (regex.test('GSTNumber')) { console.log('valid'); }

答案 5 :(得分:0)

最后我得到了GST验证正则表达式,只有句柄15位数:)



/^([0-9]{2}[a-zA-Z]{4}([a-zA-Z]{1}|[0-9]{1})[0-9]{4}[a-zA-Z]{1}([a-zA-Z]|[0-9]){3}){0,15}$/




答案 6 :(得分:0)

以下是GST编号验证的正则表达式,它验证了15个字母数字字符:

var regex =“\ d {2} [AZ] {5} \ d {4} [AZ] {1} \ d {1} [AZ] {1} \ d {1}”< /强>

答案 7 :(得分:0)

这是我正在使用gst号验证项目的正在使用的正则表达式代码。 ^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9]{1}Z[a-zA-Z0-9]{1}$ 谢谢。

答案 8 :(得分:0)

JsNumericOps.add

答案 9 :(得分:0)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script>
  $(document).on('change',".gstinnumber", function(){    
    var inputvalues = $(this).val();
    var gstinformat = new RegExp('^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9A-Z]{1}Z[0-9A-Z]{1}$');

    if (gstinformat.test(inputvalues)) {
     return true;
    } else {
        alert('Please Enter Valid GSTIN Number');
        $(".gstinnumber").val('');
        $(".gstinnumber").focus();
    }

});
</script> 

答案 10 :(得分:0)

我在我的代码

中使用此功能
function check_gst(gst){
    if(gst.length != 15){
        alert("Invalid Length of GSTIN");
        return false;
    }else{
        var state = parseInt(gst.substring(0, 2)); 
        // FIRST 2 CHARACTERS STATE CODE
        if(state < 1 || state > 37){
            alert("Invalid First Two Characters of GSTIN");
            return false;
        }
        // NEXT 10 CHARACTERS PAN NO. VALIDATION
        var pan = gst.substring(2, 12).toUpperCase();
        var regex = /[a-zA-Z]{3}[PCHFATBLJG]{1}[a-zA-Z]{1}[0-9]{4}[a-zA-Z]{1}$/;
        if( !regex.test(pan) ){
            alert("Invalid GSTIN");
            return false;
        }
        // DEFAULT 14TH CHARACTER 'Z'
        var char14 = gst[13].toUpperCase();
        if(char14 != "Z"){
            alert("14th character of GSTIN should be 'Z'");
            return false;
        }
        // CHECKSUM DIGIT 
        if(check_gst_checksum(gst.substring(0, 14)) != gst[14]){
            alert("Invalid GSTIN");
            return false;
        }

        return true;

    }
}
String.prototype.getw = function( value ) {
    for( var prop in this ) {
        if( this.hasOwnProperty( prop ) ) {
            if( this[ prop ] === value )
                return prop;
        }
    }
}
function check_gst_checksum(gst_wo){
    weight_c = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    gst = gst_wo.toUpperCase();
    var total_a1 = 0;
    for (var i = 0; i < gst.length; i++) {
        var weight = weight_c.getw(gst[i]);
        var factor = ( (i % 2) +1 );
        var product = weight * factor;
        var qu = Math.floor( product/36 );
        var re = product % 36;
        var a1 = qu + re;
        total_a1 += a1;
    }
    var d = total_a1 % 36;
    var dd = 36 - d;
    return weight_c[dd];
}

校验和数字的所有计算都在此博客中给出 https://gauravj75.blogspot.in/2018/01/excel-gstin-checksum-digit-logic.html

答案 11 :(得分:0)

这肯定适用于您的 jQuery。

rules: {
        gst_number_value: {
        required: true,
        minlength: 15,
        maxlength: 15,
        pattern: '^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z]{1}[1-9]{1}[A-Z]{2}$',
        },
},

messages: {
        required: "Please enter GST number",
        minlength: "Please check your GST number.",
        maxlength: "Please check your GST number.",
        pattern: "You have entered an invalid GST number.",
},

答案 12 :(得分:-1)

回复为时已晚,但有人会对此有所帮助。

前两位数 - 根据印度人口普查2011,GSTIN的第一位数字是州代码。州代码如下。

01-Jammu and Kashmir,02-Himachal Pradesh,03-Punjab,04-Chandigarh,05-Uttarakhand,06-Haryana,07-Delhi,08-Rajastan,09-UP,10-Bihar,11-Sikkim, 12-Arunachal Pradesh,13-Nagaland,14-Manipur,15-Mizoram,16-Tripura,17-Meghalaya,18-Assam,19-West Bengal,20-Jharkhand,21-Orrissa,22-Chattisgarh,23-MP, 24-Gujarat,25-Daman和Diu,26-Dadar和Nagar Haveli,27-Maharashtra,28-Andhra Pradesh,29-Karnataka,30-Goa,31-Lakshadweep,32-Kerala,33-Tamil Nadu,34-Puducherry和35-阿纳达曼和尼科巴群岛。

下一个10位数 - 是您的商店,商场或公司等商业实体的PAN编号。

第13位 - 表示作为业务实体的注册数量在同一PAN的状态内。它将是一个字母数字(首先是1-9,然后是A-Z),将根据法律实体(具有相同PAN)在一个州内的注册数量进行分配。

假设ABC公司在同一州注册了5次不同的业务。在这种情况下,这个数字将被打印为5.让我们假设,同一家公司注册了大约15次,然后它应该表示为F(1-9数字,后来第10次注册被命名为A和第11个被命名为B等等到Z)。

因此,商业实体可以在单一状态下注册GSTIN最多35次(1-9及之后的A-Z)。

第14位 - 默认为Z.

第15位 - 最后一位数字将是一个检查代码,用于检测错误。

使用此信息,RegEX位于

之下
^[0-9]{2}[A-Za-z]{3}[CPHFATBLJGcphfatblj]{1}[A-Za-z]{1}[0-9]{4}[A-Za-z]{1}[0-9A-Za-z]{1}(Z|z)[0-9A-Za-z]{1}$

这是完美的GST验证码。