为了账号安全,请及时绑定邮箱和手机立即绑定

我可以使用 ASCII 检查密码是否由数字组成吗?

我可以使用 ASCII 检查密码是否由数字组成吗?

LEATH 2021-08-26 14:39:25
我正在尝试检查密码是否仅由数字组成。这是来自代码战的挑战。他们中的大多数人使用jQuery来解决这个问题,但我不熟悉它,我认为它可以与ASCII一起使用。function validatePIN(pin) {  for (var i = 0; i < pin.length; i++) {    if ((pin.length === 4 || pin.length === 6) && (pin.charCodeAt(i) >= 48 && pin.charCodeAt(i) < 58)) {      return true;    } else {      return false;    }  }}例如,当我使用“1q23”进行测试时,返回为真。但是如果我用“q123”测试,结果是错误的。我是初学者,所以放轻松:)
查看完整描述

3 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

仅检查false条件,这意味着如果任何字符不是数字,则返回 False。我还对您的代码进行了修改,即长度条件,它可以是for循环的父范围,这可能会减少额外的检查。


function validatePIN(pin) {

    if (pin.length === 4 || pin.length === 6) {

        for (var i = 0; i < pin.length; i++) {

            if (pin.charCodeAt(i) < 48 || pin.charCodeAt(i) > 58) {

                return false;

            }

        }

        return true

    }

    return  false;

}


console.log(validatePIN('1q23'));

console.log(validatePIN('q23'));


查看完整回答
反对 回复 2021-08-26
?
茅侃侃

TA贡献1842条经验 获得超21个赞

您只是在检查第一个值。把你的return true后你的for循环。基本上你想退出循环并false在找到非数字时返回。否则,如果您在没有找到数字的情况下通过循环,则返回true.


查看完整回答
反对 回复 2021-08-26
  • 3 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信