Javascript 如何正则表达式测试一个字符串,它在数字之前以零('s)开头



如何额外测试01或0080等数字?

这是我目前的测试。

const arr = ["01/05/2023", "1ert", "0fer", "blah", "0", "", "123", "1e3", "1*4", "0080", "1.34", "1,00", "-2"]
function validNumber (a) {
let regex = /^d+$/;
a.forEach((string) => {
if(!string.match(regex)) {
console.log("not a number:", string)
} else {
console.log(parseInt(string))
}
})
}

这个测试有效,但是我不希望用户认为他们可以输入带前导零的数字。

function validNumber (a) {
let regex = /^d+$/;
a.forEach((string) => {
if(!string.match(regex)) {
console.log("not a number:", string)
} else {
console.log(parseInt(string));
if (string.match(/^0+d+$/)) {
console.log("numbers starts with zeros -- don't do that dear user!");
}
}
})
}

最新更新