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 相关文章推荐
防止动态加载JavaScript引起的内存泄漏问题
Oct 08 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
教你使用javascript简单写一个页面模板引擎
May 05 Javascript
详解JavaScript正则表达式中的global属性的使用
Jun 16 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
Aug 31 Javascript
浅析jQuery操作select控件的取值和设值
Dec 07 Javascript
js仿iphone秒表功能 计算平均数
Jan 11 Javascript
微信小程序实现传参数的几种方法示例
Jan 10 Javascript
jQuery实现的简单图片轮播效果完整示例
Feb 08 jQuery
angularjs的单选框+ng-repeat的实现方法
Sep 12 Javascript
监听element-ui table滚动事件的方法
Mar 26 Javascript
vue缓存之keep-alive的理解和应用详解
Nov 02 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使用CURL模拟GET与POST向微信接口提交及获取数据的方法
2016/09/23 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
PHP 出现 http500 错误的解决方法
2021/03/09 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
js实现用户注册协议倒计时的方法
2015/01/21 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
Vue生命周期示例详解
2017/04/12 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
JavaScript 截取字符串代码实例
2019/09/05 Javascript
python如何获取服务器硬件信息
2017/05/11 Python
python3 shelve模块的详解
2017/07/08 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
python BlockingScheduler定时任务及其他方式的实现
2019/09/19 Python
python匿名函数的使用方法解析
2019/10/10 Python
Pandas中DataFrame基本函数整理(小结)
2020/07/20 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
法律专业个人实习自我鉴定
2013/09/23 职场文书
外企财务年会演讲稿
2014/01/03 职场文书
学生周末长期请假条
2014/02/15 职场文书
《九色鹿》教学反思
2014/02/27 职场文书
《苏珊的帽子》教学反思
2014/04/07 职场文书
领导班子自我剖析材料
2014/08/16 职场文书
七一建党日演讲稿
2014/09/05 职场文书
校长新学期致辞
2015/07/30 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
浅谈mysql返回Boolean类型的几种情况
2021/06/04 MySQL
python基础入门之字典和集合
2021/06/13 Python
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python