javascript - 为必须以 3 个字母作为前缀的数字创建模式,例如 (IKA111111)

标签 javascript html validation

function validatetest(e)
    {
    debugger;
        e.preventDefault();
        // Declare all the variables here
        var firstName = document.getElementById("firstName").value;
        var lastName =  document.getElementById("lastName").value;
        var title = document.getElementById("title").value;
        var healthNumber = document.getElementById("healthNumber").value);
        var email = document.getElementById("email").value;
        var telephoneNumber = parseInt(document.getElementById("telephoneNumber").value);
        var validHealth = /^[A-Z]{3}[0-9]{6}$/;
        var validText = /^[a-zA-Z]*$/;
        var validLastText = /^[a-zA-Z-]*$/;
        var validEmail = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z]{2,6}$/;
        //var n = healthNumber.startsWith("ZHA");

        if(firstName!="" && lastName!= "" && title!="" && email !="")
        {
            if(email.match(validEmail))
            {   

                if(!isNaN(telephoneNumber) && telephoneNumber >= 11111111111 && telephoneNumber <= 99999999999)
                    { 
                        if(firstName.match(validText) && firstName.length >1)
                        {
                            if(lastName.match(validLastText) && lastName.length> 1)
                            {
                                if(healthNumber.match(validHealth))
                                {
                                    alert("All information is Validated");
                                    return true;

                                }
                                else
                                {
                                        alert("error error");
                                        return false;
                                }

                            }
                            else
                            {
                                document.getElementById("error4").innerHTML="letters and hypen only";
                                return false;
                            }



                        }
                        else
                        {
                            document.getElementById("error").innerHTML="letters only and more then one character";
                            return false;
                        }
                     }
                     else 
                     {
                         document.getElementById("error2").innerHTML="Telephone number must be 11 num digits long";

                     }
            }
            else
            {
                document.getElementById("error3").innerHTML="email is not a valid format ";
                return false;
            }
        }

        else
        {
            alert("All fields must be entered except telephone Number ");
            return false;
        }
     }

我正在尝试使用用户输入的健康号码的模式来创建验证过程,以便验证是否通过用户输入输入了 3 个字母,后跟 6 个数字。 (MIC123456 是示例,因此始终必须输入 MIC,这些特定字母) 不确定我的技术是否正确,通过使用存储在 ValidHeath 变量中的模式,我可以将这个想法用于我的电子邮件验证等。

最佳答案

你的正则表达式中有一个额外的+,请制作它

var validHealth = /^[A-Z]{3}[0-9]{6}$/;

演示

var isMatch = !!"IKA111111".match(/^[A-Z]{3}[0-9]{6}$/);

isMatch ? console.log( "Matching" ) : console.log( "Not Matching" );

关于javascript - 为必须以 3 个字母作为前缀的数字创建模式,例如 (IKA111111),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49323434/

相关文章:

javascript - 如何设置 React 组件的样式

javascript - 如何在 angularjs 中递归源脚本(组件)

html - 为什么段落标记溢出而不是创建一个新行?

javascript - 自定义验证似乎没有注册

javascript - 从 Javascript Visualforce 调用扩展方法

javascript - 带有选择器的工具提示插件

javascript - 如何仅删除实例中添加的事件处理程序?

html - 具有最大宽度和最大高度的图像相对于...本身

node.js - 根据 Mongoose 模式验证对象而不另存为新文档

javascript - 如何为长度为 8 - 24 的密码创建正则表达式并至少包含以下 3 个 : lowercase, 大写字母、数字、特殊字符