javascript - if 语句中无法识别 ASCII 字符

标签 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 语句没有捕获.= 我不知道为什么。任何帮助都会 super 棒!谢谢!

最佳答案

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

假设您希望删除一个前导空格或不间断空格(这就是   在 HTML 中的含义;顺便说一句,它不是一个 Ascii 字符),那么以下代码可以工作:

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

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

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

关于javascript - if 语句中无法识别 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23459616/

相关文章:

javascript - EXTJS:如何在树面板中的图标节点上添加单击事件

javascript - jQuery attr 方法可以设置点击处理程序和内部文本

javascript - 从另一个 HTML/CSS 文件实现代码的方法?

javascript - 想要在不更改类名的情况下向类添加定义元素

javascript - 在 javascript 中从 JSON 对象中检索标签

JavaScript DOM 引用不支持

html - WebSockets 有吞吐量限制吗?

javascript - HTML5 响应式 Canvas 鼠标位置和调整大小

javascript - jQuery - 自动扩展的文本区域不处理粘贴的输入

javascript - 无法读取 'null' 的属性值