我应该使用什么正则表达式来验证数字模式

What regex should i use to validate a number pattern?

本文关键字:验证 数字 模式 正则表达式 什么 我应该      更新时间:2023-09-26

对于第一次验证,我尝试验证4位数字的输入,但当我尝试运行它并输入4位数字时,错误仍然显示:

function pCodeValidate() {
    var pCode = document.getElementById("postcode");
    var pCodePattern = /^'d{4}$/;
    if (!(pCodePattern.test(pCode))){
        errorList("post code must be 4 digits")
    } 
    //return
}

第二个验证模式为"04dddddddd,其中d是一个数字"的手机号码。这是我的代码:

function mNumberValidate() {
    var mNumber = document.getElementById("mobilenumber");
    var mNumberPattern = /^'d{10}$/;
    if (!(mNumberPattern.test(mNumber))){
        errorList("invalid mobile number");
    }
    //return
}

对于第二部分,我应该使用什么regex来强制将"04"作为输入中的第一个值?

第一个函数的问题是,您没有使用正则表达式来测试输入的,而是试图测试对输入本身的引用。更改以下行:

var pCode = document.getElementById("postcode");

获取值:

var pCode = document.getElementById("postcode").value;

在你的第二个函数中,你有同样的问题,你可以用同样的方法解决:

var mNumber = document.getElementById("mobilenumber").value;
// --------------------------------- add this part >-^^^^^^

然后,以04开头的电话号码所需的正则表达式如下:

/^04'd{8}$/

即:

^     - beginning of string
04    - the literal characters "04"
'd{8} - any 8 digits
$     - end of string

(Dodgy演示:https://jsfiddle.net/xah6qstz/)