在if语句中无法识别ASCII字符

时间:2014-05-04 17:54:03

标签: javascript jquery html xhtml

我试图从一个带有jquery的html页面获取一个字符串,这就是我所拥有的。

var text = $(this).text();

var key = text.substring(0,1);
if(key == ' ' || key == ' ')
    key = text.substring(1,2);


text is this  Home

我想跳过空格和/或上面的密钥代码看起来这个代码也不起作用。它只获取text.substring(0,1);而不是text.substring(1,2);因为if语句没有捕获。=我不知道为什么。任何帮助都会超级棒!谢谢!

2 个答案:

答案 0 :(得分:1)

问题中的代码存在一些问题。首先, 在JavaScript中没有特殊含义:它是一个包含六个字符的字符串文字。其次,text.substring(1,2)只返回text的第二个字符,而不是第二个字符的所有字符。

假设您希望删除一个前导SPACE或NO-BREAK SPACE(这是&#160;在HTML中的含义;顺便说一下,它不是Ascii字符),那么以下代码将起作用:< / p>

var first = text.substring(0, 1);
if(first === ' ' || first === '\u00A0') {
   text = text.substring(1, text.length);
}

符号\u00A0是NO-BREAK SPACE U + 00A0的JavaScript转义表示法。

如果您希望在开始时删除多个空格,也可能在结尾处删除多个空格,则需要进行一些修改。在这种情况下,使用带正则表达式的替换操作可能是最好的。

答案 1 :(得分:0)

如果要删除字符串开头(和结尾)的空格,可以使用修剪函数

var myvar = " home"
myVar.trim() // --> "home"

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim