今天在写js的时候,遇到一个奇怪的问题,明明两个字符串相同,console打印出来也一样,首尾都没有空格,typeof的结果都是string。
可是用a==b却判断为不相等 
后来在网上查了资料,得知可能是字符串里面有其他特殊字符,导致两个字符串肉眼看上去没有区别,但是用encodeURIComponent()处理后可能不一样。

我用encodeURIComponent()把两个字符串的结果打印出来比较,发现其中一个后面多了个“%D",这是换行符的编码,这就是两个字符串不相等的原因了。

解决办法:去掉字符串中的特殊字符再比较。

附:JS中去除特殊字符的方法:

.replace(/\ +/g,"") //去掉空格方法

.replace(/[ ]/g,"")//去掉空格

.replace(/[\r\n]/g,"")//去掉回车换行

.replace(/-/g, '') //去掉"-"号

JS相同的字符串被判断为不相等的原因相关推荐

  1. html判断字段不为空,js里是否为空字符串的判断

    了解下js里是否为空字符串的判断. JavaScript中可以使用if(typeof obj=="undefined"||obj==null||obj=="") ...

  2. ajax返回字符串长度限制,JS字符串长度判断,超出进行自动截取的实例(支持中文)...

    今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了, 下面是JS代码: var GetLength = functio ...

  3. JS两个相同的字符串被判断为不相等问题

    JS两个相同的字符串被判断为不相等问题 JS两个相同的字符串被判断为不相等问题 今天在写js的时候,遇到一个奇怪的问题,明明两个字符串相等,用alert()打印出来都一样,typeof的结果都是str ...

  4. js php 数据类型判断,【js基础】变量类型判断

    类型判断方法比较: 如果需要想详细了解,请看下文: 注:原封不动复制备份,防止删帖 在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, B ...

  5. JS统计一个字符串中数字字符的个数。

    ** JS统计一个字符串中数字字符的个数. ** 思路整理: 统计一个字符串中的数字字符个数,首先应该先遍历字符串中每一个单字符,然后对每个字符进行判断是否为数字,最后设置一个变量统计数目 具体实现: ...

  6. nodejs 截断字符串_node.js – nodejs:字符串操作

    我有以下node.js代码: conn.on("data",function(x){ var responseData=x; //sys.puts(responseData); s ...

  7. js对象与字符串相互转换

    js对象与字符串相互转换 对象转为字符串 const obj = {id: 0,name: '张三',age: 12 } const objToStr = JSON.stringify(obj) co ...

  8. 判断字符串_python判断字符串以什么开始

    简介 Python在处理文本的时候经常需要判断以什么字符串开头,可以取字符串索引进行判断,也可以直接使用startswith函数进行判断. 取索引字符串判断 str="人生苦短,我用Pyth ...

  9. shell 脚本比较字符串相等_shell字符串比较判断是否为数字

    shell字符串比较判断是否为数字 更新时间:2013年01月23日 17:39:14   作者: 本文阐述:shell中整数比较方法及字符串的比较方法,如等于,不等于,大于,大于等于,小于,等等 二 ...

最新文章

  1. P1066 2^k进制数 NOIP 2006 提高组 第四题
  2. 聊聊storm的IWaitStrategy
  3. 设置主机名 centos redhad7
  4. mysql 存储过程代码_pymysql存储过程代码
  5. 深入研究java.lang.ThreadLocal类
  6. 十年编程经验凝结 与新人们分享
  7. BP(反向传播)神经网络
  8. Docker系列(八)Docker的CS模式、守护进程的配置和操作
  9. Java 类目树形结构查询
  10. 4.1 手工编写第一个性能测试脚本
  11. ts 修饰符_TS4 新特性一览
  12. 杭州电子科技大学acm-2001
  13. Netkeeper安装/卸载后wifi消失问题解决方法
  14. 现在流行的编程热潮是不是一个骗局?
  15. 父进程和子进程之间的关系
  16. vue 样式标签使用 scoped
  17. 将Opera默认搜索引擎改为百度
  18. Python 高德地图经纬度与地址相互解析
  19. 使用腾讯IP查询-判断IP归属地-Vic's blog
  20. mt6735 [Audio Common]如何修改拨号按键音量大小

热门文章

  1. 高等数学考研笔记(六)
  2. 留不住客户的云办公,只会是无底洞
  3. 4【学校教学系统】获取所有通知
  4. GitHub YOLOv5 开源代码项目系列讲解(五)------链接手机摄像头实现目标检测
  5. ARM GIC 与Linux kernel的中断子系统(4)GIC和中断处理
  6. 关于NRV优化详细分析
  7. 【发展史】自然语言处理中的预训练技术发展史—Word Embedding到Bert模型
  8. 蓝桥杯 十六进制转化为十进制
  9. Python全栈之路标准库系列之random模块
  10. 第九章 广播和本地组播(IGMP和MLD)