正则表达式使用javascript检查数字长度,并允许长度在6到8之间

时间:2019-04-29 05:24:16

标签: javascript regex

我想检查数字长度是否在6到8之间,我尝试了很多方法,但是对我来说不起作用。有人可以帮我吗?

我的代码:

方法1:

regex = RegExp(/[-]{0,1}[\d{6,8}]*[\.]{0,1}[\d{6,8}]+/g),

方法2:

regex = RegExp(/[-]{0,1}[\d]{6,8}*[\.]{0,1}[\d]{6,8}+/g),

我已经尝试了以上两种方法,但没有任何帮助实现这一目标。请帮我解决问题。

3 个答案:

答案 0 :(得分:4)

如果您想检测其中只有8位数字的字符串,请考虑采用这种方法:

var number = "314159.32";
if (/^-?[0-9]+(?:\.[0-9]+)?$/.test(number) &&
    /^[0-9]{6,8}$/.test(number.replace(/[.-]/g, ""))) {
        console.log("valid");
}
else {
    console.log("invalid");
}

此处使用单个正则表达式的困难是可选的十进制成分,它可能会出现也可能不会出现。但是,假设输入是一个数字,并且没有小数部分,那么所需的正则表达式模式很容易。

答案 1 :(得分:1)

您的描述与您的尝试不符。

通常,您不必要使用字符类。尝试此操作,它匹配6到8位数字之间的数字,并且可以在前面加上-

regex = RegExp(/-?\d{6,8}/g);

如果您要匹配其他样式,请描述它们并添加示例。

答案 2 :(得分:-1)

您的问题不是很清楚,请提供一些有效字符串的样本。但我不能建议您使用此正则表达式:

^\d{6,8}$