从掩码值创建正则表达式模式以验证邮政编码

Create Regex Pattern from Mask value to validate the zip code

本文关键字:验证 邮政编码 模式 正则表达式 掩码 创建      更新时间:2023-09-26

JS Code:

我使用以下代码验证三个国家的邮政编码USA/BR/CA。

/*To Get ZipCodeRegex as per country */
function getZipRegEx(inputcountry) {
var returntext;
if (inputcountry == "USA") {
    returntext = /^'d{5}$/
}
else if (inputcountry == "CA") {
    returntext = /^[ABCEGHJKLMNPRSTVXYabceghjklmnprstvxy]{1}'d{1}[A-Za-z]{1} *'d{1}[A-Za-z]{1}'d{1}$/
}
else if (inputcountry == "BR") {
    returntext = /^([0-9]){5}([-])([0-9]){3}$/
}
return returntext;

};

现在,客户端已经更新了他们的代码,并使用MASK插件输入文本框。掩码模式正在用data-mask属性呈现。下面是为邮政编码的输入控件呈现的HTML。

<input type="text" name="zip" id="zip" value="" class="required" data-mask="99999" />

问题领域:现在有了最新的代码库,他们覆盖了10多个国家,每个国家/州都有不同的邮政编码模式。

那么,是否有可能根据输入字段的掩码值生成正则表达式模式?这样,我就不需要把国家具体检查一下了。

请建议一些实现方法来覆盖这个场景。

MASK Plugin已经对输入的邮政编码执行客户端验证。这就是它的作用。使用Javascript在您自己的客户端验证中重复此操作是没有意义的。

客户端验证只是为了方便用户(快速报告错误,以便用户可以在提交表单之前纠正错误);它不能保证输入是有效的,因为它很容易被绕过。

如果您想确保良好的输入,您必须在服务器端进行验证。