【问题标题】:Symbol validation error because containing of space符号验证错误,因为包含空格
【发布时间】:2014-02-08 12:04:51
【问题描述】:

我试图使用 javascript 验证一个字符串,我试图以一种不能包含任何符号的方式验证它,我的代码可以工作,但是当用户输入任何空格时,它会导致错误。

我试图删除字符串,但没有成功。
这是我尝试过的:

function validateSymbol(word)
{
    var newword=word.split(' ').join('');

    for(var i = 0; i < newword.length; i++)
    {
        if(word.charCodeAt(i) < 48 ||
           newword.charCodeAt(i) > 57 &&
           newword.charCodeAt(i) < 65 ||
           newword.charCodeAt(i) > 90 &&
           newword.charCodeAt(i) < 97 ||
           newword.charCodeAt(i) > 122)
        {
            return false;
        }
    }

    return true;
}

【问题讨论】:

  • 能否请您给出错误信息
  • 嗨库马尔!我刚刚编辑了代码,当单词中有空格时它总是返回false。谢谢关心:)
  • 你能做个小提琴吗?使用您的示例输入.. 调用此函数时“word”的值是多少?

标签: javascript validation symbols


【解决方案1】:

我认为您没有在第一个 if 条件中将 word 替换为 newword

function validateSymbol(word)
{
    var newword=word.split(' ').join('');

    for(var i = 0; i < newword.length; i++)
    {
        if(newword.charCodeAt(i) < 48 ||
           newword.charCodeAt(i) > 57 &&
           newword.charCodeAt(i) < 65 ||
           newword.charCodeAt(i) > 90 &&
           newword.charCodeAt(i) < 97 ||
           newword.charCodeAt(i) > 122)
        {
            return false;
        }
    }

    return true;
}

【讨论】:

  • @HannanHossain 你试过代码了吗?很明显,我的建议是有道理的。
  • 我当然试过那个代码。试了之后说说我的看法。
  • jsfiddle.net/hannnan/qBAuS@vooD 看看。我没有发现你描述的任何问题。我不知道他的问题是怎么解决的。
  • @HannanHossain,有误会。此上下文中的“错误”表示当 word 参数包含空格字符时函数返回 false。问题是“如何修复函数,以便在 word 包含空格字符时返回 true?”
  • @vooD 我知道,这很清楚。但是你见过我的小提琴吗?循环内没有检查 word 变量。这只是新词变量的问题。但执行此 var newword=word.split(' ').join(''); 后它不包含任何空格我不知道你在说什么。
猜你喜欢
  • 2023-04-01
  • 2011-07-25
  • 2018-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多