今天在写js的时候,遇到一个奇怪的问题,明明两个字符串相等,用alert()打印出来都一样,typeof的结果都是string, 仔细查看过了首尾都没有空格. 可是用a==b却判断为不相等 后来在网上查了资料, 虽然两个字符串肉眼看上去没有区别,但是用encodeURIComponent()处理后可能不一样,(我处理后发现有个字符串前面有 %EF%BB%BF,另一个则没有 ) 解决办法:a.trim() == b.trim()…
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…
首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是js中JSON格式的字符串,它只是一个js的字符串. var JSONStr2 = "{'name' : '张三'}"; 我们看JSON语法中对于字符串的定义:是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义.一个字符(character)即一个单独的字符串(characte…
JS两个对象数组合并并去重 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> </body> </html> <script type="text/javascript"> let jsonArr = [ { "…
PHP自带的函数如strlen().mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节.例: $enStr = 'Hello,China!'; echo strlen($enStr); // 输出:12 而中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8.utf-8能兼容更多的字符,所以受到很多站长的喜爱.gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异. gbk编码下每个中文字符所占字节为…
Oracle sql 子字符串长度判断 select t.* from d_table t ,) ,instr(t.col,; 字符串的前两位都是数字: select * from d_table t ,), ;…
js两个变量交换值 这个问题看似很基础,但是有很多的实现方式,你知道的有多少呢,网上也有很多的方法,下面就来总结一下 中间变量(临时变量) 临时变量其实很好理解,通过一个中间变量进行交换值 var strA = "a"; var strB = "b"; var strC;//中间变量 # 开始 strC = strB;//strC值是b strB = strA;//此时strB已经变成strA strA = strC;//让strA赋值strB的值 使用加减(针对数…
字符串的判断有2种: 1.判断地址是否相等  用:== 2.判断值是否相等  用:equals方法 Object类作为所有类的超类,而Object类的equals方法是直接比较地址的,源码如下: public boolean equals(Object obj) { return this == obj; } 所以,在String类中的equals方法,是重写了Object类的equals方法的,String类的equals方法源码如下: public boolean equals(Object…
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要.正则表达式就是用于描述这些规则的工具.换句话说,正则表达式就是记录文本规则的代码.合理使用正则表达式确实会为程序员省去很多字符处理的工作,高速而有效. 正则表达式的语法与使用规范可以参考http://deerchao.net/tutorials/regex/regex.htm 这里说说用js和java程序处理字符串的一点问题: <script type="text/javascript"> func…
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两种定义函数的方式及区别 1:函数声明: function sayA() { alert("i am A"); } 2:函数表达式: var sayB = function() { alert("i am B"); } 区别:code 前者会在代码执行之前提前加载到作用域中,后者则是在代码执行到那一行的时候才会有定义 二:js两种继承方式及区别 对象冒充 临时属性 call() apply() 原型链 code 继承应选哪种 code 三:实例 js两种定义…
js捕捉IE窗口失去焦点事件,判断离开页面刷新或关闭的方法 javascript如何捕捉IE窗口失去焦点事件window.onblur = function(e) { //you code}; 弹框的要控制次数有几种方案,一种是放到cookies里面保存code,会影响到其他文件请求都带上cookies值,用户访问文章多了以后比较影响请求响应.另外一种就是在当前页面加个全局变量,一次只弹一次,下次刷新后也只弹一次,当然也可以加个次数的控制. ===========================…
1.js如何将纯数字字符串转换为long型? js 中 int的存储位数?最大十进制数表示是多少? 精度http://www.jb51.net/article/59808.htm 整数(不使用小数点或指数计数法)最多为 15 位. 小数的最大位数是 17,但是浮点运算并不总是 100% 准确 http://www.cnblogs.com/snandy/p/4943138.html 对于整数,前端出现问题的几率可能比较低,毕竟很少有业务需要需要用到超大整数,只要运算结果不超过 Math.pow(2…
escape() 是JavaScript的编码函数 例子:var esstring=escape("helloworld"); 为了防止数据传输读取中出现乱码现象,字符串往往要用JS的escape()函数把字符串编码,然后在用unescape()函数解码,当然,这个在网页前台的JS操作中没有什么困难的.但是对于用JS的escape()编码过的字符串,在用后台语言处理中,怎样读出来呢?asp.net可没有unescape()这个函数可以直接解码.不过可喜的是,asp.net可以添加其他的…
原生Js 两种方法实现页面关键字高亮显示 上网看了看别人写的,不是兼容问题就是代码繁琐,自己琢磨了一下用两种方法都可以实现,各有利弊. 方法一 依靠正则表达式修改 1.获取obj的html2.统一替换html标签3.替换要修改的关键字4.再把html标签修改回去不足就是如果查找的关键字跟替换的标签一样就有冲突了 效果预览:http://jsfiddle.net/dtdxrk/EAqkN/embedded/result/ 1 <!DOCTYPE HTML> 2 <html lang=&qu…
js MD5加密后的字符串 <script language="JavaScript"> /*****************************************************************************  * md5.js  *  * A JavaScript implementation of the RSA Data Security, Inc. MD5  * Message-Digest Algorithm.  *  * C…
概述 碰到一个需求:用js生成固定长度的字符串.在网上查了很多资料,网上的方法都比较麻烦.我自己灵光一现,实现了一个比较简单的方法.记录下来,供以后开发时参考,相信对其他人也有用. js生成随机字符串 js生成随机字符串有一个奇妙的写法: //输出随机字符串 const randStr = () => Math.random().toString(36).substr(2); 浏览器开发者工具输入5次,输出如下: "4cc9gd4sbwd" "ox9r8g6g7h&qu…
在jquery中字符串相等判断一直失败 原来是空格! string1, string2 若其中有一个为返回值或类似 $.trim(string1) == $.trim(string2) ------------------------------------------------------------------------ jQuery.trim(str) 概述 去掉字符串起始和结尾的空格. 参数:strString 需要处理的字符串 示例 描述: 去掉字符串起始和结尾的空格. jQuer…
遇到了这个问题.记录一下.用strpos查找字符串来进行字符串包含判断. <?php //$res = strpos("hello", "hx"); $res = strpos("hello", "he"); if ($res !== false){ echo "find OK, pos:$res\n"; } else { echo "find failed, not exist\n&quo…
JS两日期相减,主要用到下面两个方法 dateObject.setFullYear(year,month,day) 方法 stringObject.split(separator) 方法 function getOffsetDays(startDate, endDate){ var startDateArr = startDate.split("-"); var checkStartDate = new Date(); checkStartDate.setFullYear(startD…
1.题外话,有关概念理解:String.prototype 属性表示 String原型对象.所有 String 的实例都继承自 String.prototype. 任何String.prototype上的改变都会影响到所有的 String 实例. 2.上正文,js扩展String.prototype.format字符串拼接的功能,首先是基础功能的改造: String.prototype.format = function(){ if(arguments.length==0){ return th…
js使用占位符替换字符串是一个ES6中的模版字符串语法. 在``中使用 ${} var a = 5; var b = 10; console.log(`Fifteen is ${a + b} and not ${2 * a + b}.`); Fifteen is 15 and not 20.…
js进阶正则表达式实现过滤字符串(RegExp对象操作正则表达式)(正则:regular)(表达式:expression) 一.总结 1.str_replace:正则作用:高效快速匹配 2.break关键字 3.RegExp对象操作正则表达式 (正则:regular) ['regjʊlə] (表达式:expression) [ɪkˈspreʃn] 二.js进阶正则表达式实现过滤字符串 <!DOCTYPE html> <html lang="zh-cn"> <…
js  两个页面的传值  可以用父页面 子页面做 比如弹窗  将值传到子页面的时候  用get超长…
[JS json对象(Object)和字符串(String)互转方法] 参考:https://blog.csdn.net/wenqianla2550/article/details/78232706 string -> jsonObj JSON.parse(jsonString); jsonObj -> string JSON.stringify(jsArr); 记录一下…
一.使用场景 用于集合中有多个相近的字符,无法使用包含判断 如: 这里如果我想判断以上集合中是否包含"信封件-DE"就会被"信封件-DE2"影响到 毕竟:"信封件-DE2"包含"信封件-DE" 二."判断集合中存在String字符串"代码 /** * 判断集合中存在String字符串 * * @param collection * @param str * @return */ public static…
一.问题 两个字符串看起来一样.类型一样,判断str1==str2时返回false: 二.原因 字符串可能含有其他特殊字符:换行符(%D).空格(%20)...一般不显示. 三.如何判断 encodeURIComponent(str) 可查看字符串完整内容 四.解决 .replace(/\ +/g,"") //去掉空格方法 .replace(/[ ]/g,"")//去掉空格 .replace(/[\r\n]/g,"")//去掉回车换行 .repl…
转自:http://blog.sina.com.cn/s/blog_6819fa800100j5t6.html 一.方法介绍 function obj$(id)                      根据id得到对象 function val$(id)                      根据id得到对象的值 function trim(str)                      删除左边和右边空格 function ltrim(str)                    …
今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了,下面是JS代码: <html> <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script> <body> <input type="text"…
所谓js的中的传值,其实也就是说5种基本数据类型(null,undefind,boolean,number,string) 传引用也就是说的那个引用数据类型,(array和objec) 基本数据类型的值不可变,而引用数据类型的值是可变的 所以当你比较数组和对象时,都是false;除非你是克隆的原份数据 即: var a = { name: "李四" }; var b = a; 大家通常称对象为引用类型,以此来和基本类型进行区分; 而对象值都是引用,所以的对象的比较也叫引用的比较,当且仅…