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

今天在写js的时候,遇到一个奇怪的问题,明明两个字符串相等,用alert()打印出来都一样,typeof的结果都是string,

仔细查看过了首尾都没有空格。

可是用a==b却判断为不相等

后来在网上查了资料,

虽然两个字符串肉眼看上去没有区别,但是用encodeURIComponent()处理后可能不一样,(我处理后发现有个字符串前面有 %EF%BB%BF,另一个则没有 )

解决办法:a.trim() == b.trim()

时间: 2024-12-21 23:20:44

JS两个相同的字符串被判断为不相等问题的相关文章

JS~字符串长度判断,超出进行自动截取(支持中文)

今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了,下面是JS代码: <html> <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script> <body> <input type="text"

js字符串长度计算(一个汉字==两个字符)和字符串截取

js字符串长度计算(一个汉字==两个字符)和字符串截取 String.prototype.realLength = function() { return this.replace(/[^\x00-\xff]/g, "**").length; // [^\x00-\xff] - 匹配非双字节的字符 }; String.prototype.realSubstring = function(n){ var str = this||''; if(this.realLength()<=n

JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换

首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是js中JSON格式的字符串,它只是一个js的字符串. var JSONStr2 = "{'name' : '张三'}"; 我们看JSON语法中对于字符串的定义:是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义.一个字符(character)即一个单独的字符串(characte

关于html字符串正则判断和匹配的具体使用

前言最近在写一个组件,需要传入html字符串,里面用到了很多正则来判断是否是html标签或者匹配标签内的文本等,这里记录下.如何判断传入的字符串包含一个闭合html标签/<\/?[a-z][\s\S]>/i这个其实并不能判断标签闭合的完整性或者顺序等,只是判断字符串中是否有html标签(包含自定义标签),这对我来说足够了.这给正则里面需要学习的就是[\s\S]可以代表一切字符串./<([a-z][\s\S])>.<\/\1>/i这个就更加规范一些可以匹配一个完整闭合的标

js 上传文件后缀名的判断 var flag=false;应用

js 上传文件后缀名的判断  var flag=false;应用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &

js如何计算一个字符在字符串中出现的次数

js如何计算一个字符在字符串中出现的次数:在实际应用中可能要计算一个字符在字符串中出现的次数,实现此功能的方式有多种,下面就介绍一个非常简单的方式.代码实例如下: function func(str,char) { var str=str; var num=(str.split(char)).length-1; return num } document.write(func("abcdefga","a")); 以上代码可以实现计算一个字符串中指定字符出现的次数.相

asp.net使用unescape读取js escape编码过的字符串

escape() 是JavaScript的编码函数 例子:var esstring=escape("helloworld"); 为了防止数据传输读取中出现乱码现象,字符串往往要用JS的escape()函数把字符串编码,然后在用unescape()函数解码,当然,这个在网页前台的JS操作中没有什么困难的.但是对于用JS的escape()编码过的字符串,在用后台语言处理中,怎样读出来呢?asp.net可没有unescape()这个函数可以直接解码.不过可喜的是,asp.net可以添加其他的

Js中Date格式化为字符串

惭愧,混迹博客园2年了,还没写过什么.最近不太忙,就写一下Js中Date对象的字符串转换吧. 直接贴代码,欢迎各位拍砖,吐槽! /*格式化时间 *formatStr 格式,如:YY-MM-DD hh:mm:ss.Y-M-D h:m:s *只有一个M时,月份小于十时前面不追加零,D.h.m.s雷同 */Date.prototype.toStringFormat = function (formatStr) { if (formatStr == null || formatStr == '') re

python字符串的判断

1 i ="老司机" 2 q ="司机" in i #判断变量i是否包含"小" 3 print(q) in 可以用于字符串的判断 in 返回的类型 True 或 False