javascript - Javascript 输入格式验证

标签 javascript regex

我想验证其中一个输入字段的以下格式

1111-111-111 //4digits- 3digits- 3digits

我尝试了下面的方法,但它不起作用。知道我错过了什么吗?

function(value) {
    var patt = "/^\d{4}-d{3}-d{3}$/";
    var res = value.match(patt);
    if (!res) {
        return {
            status: 2,
            message: 'Input should be formatted as 0000-000-000'
        };
    } else {
        return {
            status: 0
        };
    }
}

此外,给定一个字符串,我想强制某些索引处的字符为空。 例如:总共 23 个字符,其中第 2、9、11 和 13-21 是空格字符。 我是 Javascript 正则表达式的新手,我们如何强制执行这些规则?

最佳答案

你的正则表达式是错误的。修复它:

/^\d{4}-\d{3}-\d{3}$/

您的第二部分和第三部分是“d”字符,而不是数字。 并在声明正则表达式时删除 " 字符。

var patt = /^\d{4}-\d{3}-\d{3}$/;

关于javascript - Javascript 输入格式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56436750/

相关文章:

javascript - 在什么情况下可以解决 promise 但不触发完成回调?

javascript - 如何为 gupshup 聊天添加延迟,以便聊天机器人在 5 秒后打开?

sql - 如何在 CASE 语句中使用 REGEXP_LIKE?

regex - 为什么Dart(不)匹配此RegEx?

javascript - 如何禁用或阻止 Web 表单上的空格键输入

javascript - 使用样式对象传递上下文时上下文如何工作?

javascript - Angular Protractor executeScript/executeAsyncScript : Maximum call stack size exceeded

javascript - 安卓 WebView : Determine <a> target= "_ blank"

regex - 跟踪号码的正则表达式模式

javascript - 为什么我的正则表达式没有通过这种情况(包括代码)