如何使用Javascript检查更改时的文本输入字符串是否有数字

如何使用Javascript检查更改时的文本输入字符串是否有数字,javascript,Javascript,有没有一种方法可以检查文本输入在更改时是否在字符串中有数字,而不使用正则表达式,而只使用javascript 例如(这可能不是一个好方法,我不确定): 您可以对它进行迭代,并检查每个字符,您可以使用!isNaN(x)检查x是否可以转换为数字,以及x.trim()过滤空白(感谢isNaN返回false空白): 函数hasNumbers(字符串){ 返回Array.prototype.some.call(string,c=>!isNaN(c)&&c.trim()) } const password

有没有一种方法可以检查文本输入在更改时是否在字符串中有数字,而不使用正则表达式,而只使用javascript

例如(这可能不是一个好方法,我不确定):


您可以对它进行迭代,并检查每个字符,您可以使用
!isNaN(x)
检查
x
是否可以转换为数字,以及
x.trim()
过滤空白(感谢
isNaN
返回
false
空白):

函数hasNumbers(字符串){
返回Array.prototype.some.call(string,c=>!isNaN(c)&&c.trim())
}
const passwordInput=document.querySelector(“密码”);
passwordInput.addEventListener(“更改”,e=>{
if(hasNumber(如目标值)){
log(“包含一个数字”)
}否则{
log(“不包含数字”)
}
})

您可以分别检查每个字符。有关解决方案,请参阅。请注意,一个数字是一个“数字”。只需验证这是您想要的[主题外]:您可以使用
输入
事件而不是
更改
进行即时检查。请:
!伊斯南(“”)
const passwordInput = document.querySelector("#password");
passwordInput.addEventListener("change", e => {
    if (e.target.value contains a number) {
        console.log("Must contain a number.")
    }
})