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 相关文章推荐
JS获取select的value和text值的简单实例
Feb 26 Javascript
js实现屏幕自适应局部代码分享
Jan 30 Javascript
RequireJS入门一之实现第一个例子
Sep 30 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
May 03 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
Jun 07 Javascript
使用bootstrap实现多窗口和拖动效果
Sep 22 Javascript
微信小程序 触控事件详细介绍
Oct 17 Javascript
Javascript使用uploadify来实现多文件上传
Nov 16 Javascript
vue引入js数字小键盘的实现代码
May 14 Javascript
layui弹出层按钮提交iframe表单的方法
Aug 20 Javascript
详解Vue实战指南之依赖注入(provide/inject)
Nov 13 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
Aug 22 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
一个PHP的ZIP压缩类分享
2014/05/04 PHP
JS模拟多线程
2007/02/07 Javascript
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
JavaScript中将一个值转换为字符串的方法分析[译]
2012/09/21 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
javascript关于open.window子页面执行完成后刷新父页面的问题分析
2015/04/27 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
JavaScript SHA512&amp;SHA256加密算法详解
2015/08/11 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
JS实现颜色梯度与渐变效果完整实例
2016/12/30 Javascript
javascript 网页进度条简单实例
2017/02/22 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
[02:03]《现实生活中的DOTA2》—林书豪&DOTA2职业选手出演短片
2015/08/18 DOTA
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
python中pika模块问题的深入探究
2018/10/13 Python
Django model反向关联名称的方法
2018/12/15 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
cookies应对python反爬虫知识点详解
2020/11/25 Python
python实现模拟器爬取抖音评论数据的示例代码
2021/01/06 Python
Html5让容器充满屏幕高度或自适应剩余高度的布局实现
2020/05/14 HTML / CSS
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
班会关于环保演讲稿
2013/12/29 职场文书
迅雷Cued工作心得体会
2014/01/27 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
颐和园导游词
2015/01/30 职场文书
使用python向MongoDB插入时间字段的操作
2021/05/18 Python