比较不同编码的字符串

2024-01-24

我只需要与 JavaScript 中的字符串进行比较,但有时特定字符串的比较会失败。

通过 jQuery 获得一个值text()方法(来自一些自动生成的 HTML):

var value1 = $('#somelement').text();

另一个值被硬编码在 JavaScript 文件中(来自我)。

经过一些测试后,我发现这些字符串具有不同的编码,当我使用以下命令记录它们时,这一点变得很清楚escape()功能。

Firebug 向我展示了这样的东西:

console.log(escape(value1));
"blabla%A0%28blub%29"
console.log(escape(value2));
"blabla%20%28blub%29"

所以最后是不同编码的空白使我的比较失败。

所以我的问题是:如何正确处理这个问题?我可以将空格替换为相等吗?但我猜还有其他控制字符 - 比如制表符、回车符等 - 这可能会扰乱我的比较?


所以最后是不同编码的空白使我的比较失败。

不,这没有什么不同encoding https://en.wikipedia.org/wiki/Character_encoding。它只是一个不同的空白 - a不间断空格 https://en.wikipedia.org/wiki/Non-breaking_space.

我可以将空白替换为相等吗?但我猜还有其他控制字符 - 比如制表符、回车符等 - 这可能会扰乱我的比较?

您可以全部更换。你可能想尝试类似的事情

value1.replace(/\s+/g, " ").replace(/^\s*|\s$/g, "") == value2

which joins https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace multiple http://www.regular-expressions.info/repeat.html 空格 http://www.regular-expressions.info/shorthand.html (of 所有种类 http://es5.github.io/#x7.2, 包括returns http://es5.github.io/#x7.3) 到一个空格并且也trims https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim比较之前的字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较不同编码的字符串 的相关文章

  • 来自 DataURL 的 Blob?

    Using FileReader s readAsDataURL 我可以将任意数据转换为数据 URL 有没有办法将数据 URL 转换回Blob使用内置浏览器 API 的实例 用户 Matt 一年前提出了以下代码 如何在javascript中
  • 如何获取 RxJSSubject 或 Observable 的当前值?

    我有 Angular 2 服务 import Storage from storage import Injectable from angular2 core import Subject from rxjs Subject Inject
  • 未捕获的类型错误:this.props.signinUser 不是一个函数(…)

    src actions index js import axios from axios const ROOT URL http localhost 3090 export function signinUser email passwor
  • Chrome SuppressDifferentOriginSubframeJSDialogs 使用 JS 设置覆盖?

    Chrome 开发团队显然刚刚推出了一项名为 SuppressDifferentOriginSubframeJSDialogs 的新 功能 这使得默认情况下不会显示来自与父级不同域上的 iFrame 的警报 确认框 https www ch
  • JQuery 动画文本

    找到简单 简单的动画文本是非常困难的 喜欢这个网站上的 内爆 http codecanyon net item jquery text animation full screen preview 233445 http codecanyon
  • 在 Angular2 项目中集成 Treant-js

    我正在尝试在 Angular2 项目中使用 treant js 但我正在努力解决如何正确集成它的问题 我有一个工作正常的 JavaScript HTML 示例 我正在尝试在 Angular2 中工作 我创建了一个组件 从 npm 添加了 t
  • 在 JavaScript 中比较表单中的两个数字

    当我尝试比较不同的数字时 数字发生变化 但文本部分保持不变 这只发生在较大 较小的情况下 而不会发生在 NaN 或相等的情况下 这是我的代码 function check var a document getElementById a va
  • 以最少插入次数将字符串转换为回文

    这是一个来自日常编码问题 https www dailycodingproblem com 给定一个字符串 找到可以通过插入来组成的回文数 单词中任何位置的字符数尽可能少 如果有 大于一个可以制作的最小长度的回文 返回 字典顺序最早的一个
  • 对象数组 - 在 Vue.js 生态系统中更新对象的正确方法

    我不确定问题到底出在哪里 但我会看看是否有人可以帮助我理解我的代码出了什么问题 我正在利用 Vuex 商店来跟踪某些不断变化的状态 我这样做如下 import Vue from vue import Vuex from vuex Vue u
  • 将 NPM 包客户端与 nuxt 结合使用

    我对 nuxt 和 javascript 非常陌生 我正在尝试弄清楚如何在客户端使用我的应用程序的依赖项 我将它们列在我的 nuxt config js 中并使用 npm 安装 我也有一个文件 plugins导入它们的目录 不确定这是否好
  • 将 JavaScript 引擎嵌入到 .NET 中 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 只是想知道是否有人尝试过将任何 js 引擎嵌入并实际集成到 net 环境中 我可以找到并实际使用 经过L
  • 使用 JavaScript 的计时器

    我想使用java脚本实现计时器 我想随着间隔的变化而减少计时器 Example假设我的计时器从 500 开始 我想要根据级别减少计时器 例如1 一级定时器应减1 且递减速度应较慢 2 2级定时器应递减2 递减速度应为中等3 3级定时器应减3
  • Window 与 Var 声明变量[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 中使用 var 和不使用 var 的区别 https stackoverflow com questions 1470488 difference between using v
  • RTCDataChannel发送方法不发送数据

    我的 RTCDataChannel 遇到一个奇怪的问题 我正在对 WebRTC 进行一些研究 并且已经可以进行 WebRTC 音频 视频聊天 现在我想使用 RTCDataChannel 添加文本聊天和文件共享 我已经像这样创建了 RTCDa
  • Google App Engine数据存储区字符串编码问题

    你好 我正在使用 Google App Engine 进行一个项目 并且需要存储一些字符串 我正在使用 Java 和JDOHelper getPersistenceManagerFactory transactions optional 在
  • 常规 JavaScript 可以与 jQuery 混合使用吗?

    例如 我可以采用这个脚本 来自 Mozilla 教程 https developer mozilla org en Canvas tutorial Basic usage
  • Dojo/on 和捕获阶段

    有没有办法用 dojo on 在捕获阶段 而不是冒泡阶段 触发事件 我最终在这里寻找有关 on 的前身 dojo connect 的信息 就其价值而言 dojo connect 似乎不支持捕获阶段的事件侦听器 它的工作原理是将事件处理程序作
  • 错误:创建 React Native 项目版本 0.59.9 时找不到 template.config.js

    当我尝试创建 React Native 项目版本 0 59 9 时 出现以下错误 错误错误 无法在 react native 模板中找到 var folders zc h93bvpb573q24 5ynvgkn1wc0000gn T rnc
  • 在 Google Apps 脚本中的文本前插入换行符

    我需要在 Google 文档中的某些文本之前插入一些换行符 尝试过这种方法但出现错误 var body DocumentApp getActiveDocument getBody var pattern WORD 1 var found b
  • FullCalendar 检查选择日是否有活动?

    我正在使用 Full Calendar js 插件 到目前为止一切顺利 但我想检查开始和结束之间的选择是否有事件 我只需要返回 true 或 false 基本上 如果日期选择中已经存在事件 我想阻止用户创建事件 var calendar c

随机推荐

  • 什么是影根

    在 Google Chrome 的开发者工具中 我看到 shadow root就在下面标签 它有什么作用以及用途是什么 我在 Firefox 和 IE 中都没有看到它 仅在 Chrome 中 这是一个特殊功能吗 如果我打开它 它会显示 an
  • Logback 依赖性阻止 SBT 离线运行

    这是一个细化的上一个问题 https stackoverflow com questions 23014492 sbt 0 13 1 offline更密切地归因于问题 我正在尝试确认我可以离线运行我的 SBT 项目 我可以 除非 logba
  • python 2.7中的karger最小切割算法

    这是我的 karger min cut 算法的代码 据我所知 我实现的算法是正确的 但我没有得到正确的答案 如果有人可以检查出了什么问题 我将不胜感激 import random from random import randint loa
  • Plaid 快速入门 - 无法获取 link_token (Python)

    按照以下说明进行操作后https dashboard plaid com overview sandbox https dashboard plaid com overview sandbox 我得到了以下消息在前端 https i sta
  • 如何对值为数组引用的 Perl 哈希进行排序?

    嘿 我只是想知道是否有一个很酷的 单行 可以对保存数组引用的哈希进行排序 所以我的哈希中有一堆键 值 例如 DataBase key value 但是我想按以下方式对哈希进行排序array 0 元素 然后循环遍历它们 我一开始是这样的 fo
  • C++ 模板函数参数推导和函数解析

    今天我只想提出一个关于C 模板函数参数推导和C 11中模板函数重载解析的问题 我使用的是vs2010 sp1 我定义了两个模板函数 如下所示 功能 1 template
  • 在 Angular 应用程序中处理过滤值的更优雅的方式

    我在 Angular 2 应用程序中多次重新加载表格显示中的数据时遇到了一些问题 我认为主要问题与以下事实有关 在初始组件加载时 我将数据作为网络请求发送给一系列过滤器 基本上 我们利用 Mongo Mongoose 功能 让我们在 pos
  • APN 重复令牌

    我们有一个推送通知服务器 它保存多个不同应用程序的数据 设备令牌 由于 Apple 希望阻止人们使用 UDID 作为标识符 我正在考虑更改此服务器 以便它不再依赖 UDID 来识别设备 据我所知 APN 返回的令牌不是全局唯一的 而是每个设
  • 我如何编写一个 mt4 指标,在前 6 小时的每小时蜡烛图上绘制矩形和水平线

    我是 mql4 编码的新手 我想知道如何根据下图编写一个执行以下操作的指标 在当天的小时图上绘制一个矩形 覆盖前 6 小时的最高和最低价格点 蜡烛 沿着找到的最高点和最低点画两条水平线 1 请注意 1 和 2 应严格基于每小时时间段 并且不
  • 如何在 Spring Data REST 中禁止 PUT 而允许 POST 和 PATCH?

    是否可以在 Spring Data REST 中完全禁止对存储库进行 PUT 同时仍然可以对集合进行 POST 并对项目进行 PATCH 这背后的基本原理是 PUT 通常允许替换语义 但在我们的例子中 资源只能通过集合上的 POST 创建
  • 您可以使用 TortoiseGit 与索引/暂存区域进行交互吗?

    我的任务是向我的同事做关于 Git 的演示 他们几乎都是习惯使用 TortoiseCVS 的 Windows 用户 我已经使用 Git 大约一年了 但我几乎只使用 Unix 命令行界面 所以我一直在尝试熟悉 Windows GUI Git
  • 如何解析 React Js 中的最小和最大日期输入?

    我创建了一个函数 该函数返回当前日期的减法或加法 并将结果设置为日期输入的最小值或最大值 我的职能 SubDate subDay gt let tgDate new Date tgDate setDate tgDate getDate su
  • 如何获取流星智能包中的当前目录

    我正在为要在 Atmosphere 上发布的流星构建一个包 我需要获取该包安装的当前目录 我努力了process cwd 在包中包含的文件中 但它获取我的应用程序的当前目录 该软件包已安装并正常工作 似乎该软件包与应用程序在同一进程中运行
  • Eclipse LogCat - 不工作

    这是有史以来最令人沮丧的事情 LogCat 不断停用 断开连接 运行 eclipse 后 LogCat 记录第一次运行 之后 它变为空白 我必须重新启动 Eclipse 才能使其再次运行 然后同样的事情再次发生 这有什么关系呢 它曾经工作得
  • 如何在 Sublime 中将“一行 html”格式化为漂亮的文档? [复制]

    这个问题在这里已经有答案了 我有一个 html 源文件 仅包含一行 如下所示 testwow 我想将其格式化如下 test wow 我使用了命令 编辑 gt 行 gt 重新缩进 但它不起作用 在 Sublime Text 中试试这个 突出显
  • 如何配置Automapper注入Ninject 2.0?

    Structure Map 和 Windsor 有配置示例 http www cprieto com index php 2009 08 20 using automapper with castle windsor http www cp
  • thread_guard 与scoped_thread

    在书里 Anthony Williams 的 C 并发实践 你可以找到以下两段代码 我做了一些细微的修改 片段 1 class thread guard std thread t public explicit thread guard s
  • 仅授予对 Amazon 别名密钥的访问权限的 IAM 策略

    In KMS http docs aws amazon com kms latest developerguide overview html有亚马逊别名键 例如 alias aws s3 and 客户主密钥 http docs aws a
  • 捕获音频会话事件

    我尝试编写一些应用程序来监视音频会话 如 SndVol 所做的那样 我激活了 IAudioSessionManager2 通过 IAudioSessionEnumerator 获取当前音频会话列表 使用音频会话管理器中的 RegisterS
  • 比较不同编码的字符串

    我只需要与 JavaScript 中的字符串进行比较 但有时特定字符串的比较会失败 通过 jQuery 获得一个值text 方法 来自一些自动生成的 HTML var value1 somelement text 另一个值被硬编码在 Jav