JS正则表达式语法

JS regex syntax

本文关键字:语法 正则表达式 JS      更新时间:2023-09-26

我想在JavaScript中做一个正则表达式,它只允许一个带有数字的字符串,这符号是:()+和一个空格。长度为 5-16 个字符。

请注意:字符串中字符的顺序并不重要。

什么是

合适的拍子?

谢谢

这个怎么样:

/^[0-9 ()+]{5,16}$/

自己构建它很容易。首先,由于您施加了严格的限制,您应该检查整个字符串,因此正则表达式应该包装到 /^...$/ 中。

其次,如果你只需要一些特定的字符,你应该使用字符类:把它们都写成[...]的形式。在您的情况下,您可以快捷方式:将/^[0123456789 ()+]$/替换为 /^[0-9 ()+]$/ .

最后,用 {$min, $max} 形式陈述一些定量限制:在您的情况下,这将是{5,16} .将其混合到您到目前为止所得到的中 - 瞧!你解决了任务。)

if( myText.match(/'A[0-9 ()+]{5,16}'Z/) ) {
    // Yay!
}

虽然正确地指出我缺少锚字符,但使用 ^$ 只会匹配字符串的,因此,"823479898237'328742987"尽管太长,但仍会匹配。