【发布时间】:2016-09-16 09:38:35
【问题描述】:
'C12345678'.match("^C\d{8}$") 和
'C12345678'.match("^C\[0-9]{8}$")
为什么这个语句有不同的值?
【问题讨论】:
标签: javascript regex match
'C12345678'.match("^C\d{8}$") 和
'C12345678'.match("^C\[0-9]{8}$")
为什么这个语句有不同的值?
【问题讨论】:
标签: javascript regex match
因为在第一种情况下,您需要转义反斜杠:
console.log('C12345678'.match("^C\\d{8}$"));
正如 Wiktor 在下面的评论中指出的那样,最好使用 Regex 文字语法:
console.log('C12345678'.match(/^C\d{8}$/));
【讨论】:
/^C\d{8}$/,因为它是可读的,不需要使用双反斜杠来转义特殊字符,而且模式是静态的。