Javascript正则表达式 - 仅过滤整数字符串也为负数

时间:2017-10-07 15:17:14

标签: javascript regex

我正在尝试创建字符串的正则表达式验证,我想检查字符串是否为整数字符串,正或负。

我尝试创建我的表达式,我只能过滤带有符号' - '的数字,但我不能匹配以' - '开头的真正字符串(可选)并且在末尾包含任何数字。< / p>

这是我的尝试:

    var intRegex = /^[-?\d]+$/g;

    console.log(intRegex.test('55')); // true
    console.log(intRegex.test('artgz')); // false
    console.log(intRegex.test('55.3')); // false
    console.log(intRegex.test('-55')); // true
    console.log(intRegex.test('--55')); // true but I don't want this true
    console.log(intRegex.test('5-5')); // true but I don't want this true

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你可以使用/^-?\d+$/,你只想连字号( - )0或1次,所以你用?之后 - ,和\ d可以是1次或更多次,因此只能使用+ \。

&#13;
&#13;
var intRegex = /^[-]?\d+$/g;

console.log(intRegex.test('55')); // true
console.log(intRegex.test('artgz')); // false
console.log(intRegex.test('55.3')); // false
console.log(intRegex.test('-55')); // true
console.log(intRegex.test('--55')); // true but I don't want this true
console.log(intRegex.test('5-5')); // true but I don't want this true
&#13;
&#13;
&#13;