Javascript regexp使用val().match()方法

ale*_*tkd 6 javascript jquery

我正在尝试使用以下规则验证名为phone_number的字段:

第一个数字应为3然后是另外9个数字,因此总共10个数字示例:3216549874

或者可以是7个数字1234567

这里我有我的代码:

        if (!($("#" + val["htmlId"]).val().match(/^3\d{9}|\d{7}/)))
            missing = true;
Run Code Online (Sandbox Code Playgroud)

为什么不工作:(当我把它放入在线正则表达式检查器显示良好.

ale*_*lex 6

您应该使用test而不是匹配,这是正确的代码:

.test(/^(3\d{9}|\d{7})$/)
Run Code Online (Sandbox Code Playgroud)

匹配将查找所有事件,而测试将仅检查是否至少有一个可用(从而验证您的号码).