JavaScript中判断两个字符串是否相等的方法


Posted in Javascript onJuly 07, 2015

先将用户的输入值全部转换为大写(或小写),然后再行比较:

大家可以先参考实例:

var name = document.form1.txtUserName.value.toLowerCase();


  if(name == "urname")


  {


   // statements go here.


  }

      JavaScript有两种相等运算符。一种是完全向后兼容的,标准的"==",如果两个操作数类型不一致,它会在某些时候自动对操作数进行类型转换,考虑下面的赋值语句:

var strA = "i love you!";


  var strB = new String("i love you!");

      这两个变量含有相同的字符序列,但数据类型却不同,前者为string,后者为object,在使用"=="操作符时,JavaScript会尝试各种求值,以检测两者是否会在某种情况下相等。所以下面的表达式结果为true: strA == strB。

      第二种操作符是"严格"的"===",它在求值时不会这么宽容,不会进行类型转换。所以表达式strA === strB的值为false,虽然两个变量持有的值相同。

      有时代码的逻辑要求你判断两个值是否不相等,这里也有两个选择:"!="和严格的"!==",它们的关系就类似于"=="和"==="。

讨论:

      "=="和"!="在求值时会尽可能地寻找值的匹配性,但你可能还是想在比较前进行显式的类型转换,以"帮助"它们完成工作。比如,如果想判断一个用户的输入值(字符串)是否等于一个数字,你可以让"=="帮你完成类型转换:

if(document.form1.txtAge.value == someNumericVar) { ... }

      也可以提前转换:

if(parseInt(document.form1.txtAge.value) == someNumericVar) { ... }

      如果你比较习惯于强类型的编程语言(比如C#,Java等),那么这里你可以延续你的习惯(类型转换),这样也会增强程序的可读性。

 

      有一种情况需要注意,就是计算机的区域设置。如果用"<"和">"来比较字符串,那么JavaScript把它们作为Unicode来比较,但显然,人们在浏览网页时不会把文本当作Unicode来阅读:) 比如在西班牙语中,按照传统的排序,"ch"将作为一个字符排在"c"和"d"之间。localeCompare()提供了一种方式,可以帮助你使用默认区域设置下的字符排序规则。

var strings; // 要排序的字符串数组,假设已经得到初始化


 strings.sort(function(a,b) { return a.localeCompare(b) }); // 调用sort()方法进行排序
Javascript 相关文章推荐
使用Firebug对js进行断点调试的图文方法
Apr 02 Javascript
node.js中的fs.createWriteStream方法使用说明
Dec 17 Javascript
Javascript中的方法和匿名方法实例详解
Jun 13 Javascript
js检测用户输入密码强度
Oct 22 Javascript
vue中七牛插件使用的实例代码
Jul 28 Javascript
详解JavaScript按概率随机生成事件
Aug 02 Javascript
浅谈在react中如何实现扫码枪输入
Jul 04 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
Aug 06 Javascript
vue中多路由表头吸顶实现的几种布局方式
Apr 12 Javascript
微信小程序中target和currentTarget的区别小结
Nov 06 Javascript
Vue+Element-U实现分页显示效果
Nov 15 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
Nov 16 Javascript
javascript中数组方法汇总
Jul 07 #Javascript
jQuery原型属性和原型方法详解
Jul 07 #Javascript
在JavaScript中访问字符串的子串
Jul 07 #Javascript
jQuery.each使用详解
Jul 07 #Javascript
JavaScript中字符串拼接的基本方法
Jul 07 #Javascript
简单介绍JavaScript中字符串创建的基本方法
Jul 07 #Javascript
浅谈JavaScript中运算符的优先级
Jul 07 #Javascript
You might like
动态新闻发布的实现及其技巧
2006/10/09 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
遭遇php的in_array低性能问题
2013/09/17 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
Smarty模板变量调节器用法分析
2016/05/23 PHP
Linux平台PHP5.4设置FPM线程数量的方法
2016/11/09 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
xml和web特殊字符
2009/04/28 Javascript
js修改input的type属性问题探讨
2013/10/12 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
在vue+element ui框架里实现lodash的debounce防抖
2019/11/13 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
python字符串连接方式汇总
2014/08/21 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
Python基础之函数原理与应用实例详解
2020/01/03 Python
简单了解Python write writelines区别
2020/02/27 Python
Python爬虫与反爬虫大战
2020/07/30 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
使用CSS3代码绘制可爱的Hello Kitty猫
2016/08/03 HTML / CSS
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
黄河象教学反思
2014/02/10 职场文书
运动会获奖感言
2014/02/11 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
清洁工岗位职责
2015/02/13 职场文书
2015年三万活动总结
2015/03/25 职场文书
2016年度优秀辅导员事迹材料
2016/02/26 职场文书
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang