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

Javascript正则表达式-仅筛选整数字符串也为负,javascript,regex,Javascript,Regex,我正在尝试创建字符串的正则表达式验证,我想检查字符串是整数字符串,是正字符串还是负字符串 我试图创建我的表达式,我只能过滤带有符号“-”的数字,但我无法匹配以“-”开头的真字符串(可选),并且在结尾包含任何数字 这是我的尝试: var intRegex = /^[-?\d]+$/g; console.log(intRegex.test('55')); // true console.log(intRegex.test('artgz')); // false co

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

我试图创建我的表达式,我只能过滤带有符号“-”的数字,但我无法匹配以“-”开头的真字符串(可选),并且在结尾包含任何数字

这是我的尝试:

    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
有什么想法吗?

你可以使用/^-?\d+$/,你只需要连字符-0或1次,所以你使用?-,和\d之后可以是1次或更多次,因此仅将+用于\d

var intRegex=/^[-]?\d+$/g; console.logintRegex.test'55';//符合事实的 console.logintRegex.test'artgz';//错误的 console.logintRegex.test'55.3';//错误的 console.logintRegex.test'-55';//符合事实的 console.logintRegex.test'-55';//是的,但我不希望这是真的 console.logintRegex.test'5-5';//是的,但我不希望这个是真的[-]写得更好。