在 Polymer JS 中验证 gstin 时控制台出错

Error in console while validating gstin in Polymer JS

我有一个 Polymer JS 代码可以验证 GST 识别号:

<dom-module id="gst">
    <template>
            <div>
                <label for="gstid" class="gstlabel">GSTIN</label>
                <input type="text" id="gstid" name="gstid" on-submit="gstid_validation(gstid)">
            </div>
    </template>

    <script>
        Polymer({
            is: 'gst',
            gstid_validation: function(gstin) {
                var gstin_count = length(gstin);
                var pattern = "qr/\d{2}[A-Z]{5}\d{4}[A-Z][A-Z\d]Z[A-Z\d]/";
                if (gstin_count !== 15 && gstin !~ pattern) {
                    return 'Invalid GSTIN';
                }
            }.
        });
    </script>
</dom-module>

我在控制台中收到以下错误:

Uncaught SyntaxError: Unexpected token !

有人可以帮忙吗?

提前致谢

正如我在评论中所写,这显然是你的 if 语句的第二部分 gstin !~ pattern

假设您想要匹配正则表达式,正确的语法应该是这样的:

if (gstin_count !== 15 && pattern.text(gstin))

请注意,您的代码还有其他几个问题。仅举几例:

  • 您的 pattern 变量包含一个字符串,而不是正则表达式。对于正则表达式,您不会使用引号作为分隔符。修饰符也放在正则表达式的末尾。
  • 在 JS 中没有 length 函数,所以如果你没有自定义 最有可能实现你想要 gstin.length
  • 自定义元素的名称中需要包含破折号(gstin-validator、gst-in 等),
  • 当你定义一个事件处理程序时,你需要传递方法名称,而不是调用它,就像我在另一个 post 中告诉你的那样: