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 相关文章推荐
获取dom元素那些讨厌的位置封装代码
Jun 23 Javascript
jquery的ajax请求全面了解
Mar 20 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
javascript中JSON对象与JSON字符串相互转换实例
Jul 11 Javascript
js表单元素checked、radio被选中的几种方法(详解)
Aug 22 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
Jan 23 Javascript
详解如何在Vue2中实现组件props双向绑定
Mar 29 Javascript
详解vue渲染函数render的使用
Dec 12 Javascript
Angular数据绑定机制原理
Apr 17 Javascript
mpvue项目中使用第三方UI组件库的方法
Sep 30 Javascript
基于elementUI实现图片预览组件的示例代码
Mar 31 Javascript
vue如何自动化打包测试环境和正式环境的dist/test文件
Jun 06 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
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
详解PHP 7.4 中数组延展操作符语法知识点
2019/07/19 PHP
Javascript常考语句107条收集
2010/03/09 Javascript
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
2010/11/25 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
jquery解决图片路径不存在执行替换路径
2013/02/06 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
JavaScript之数组(Array)详解
2015/04/01 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
原生JS实现图片翻书效果
2017/02/16 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
JS中图片压缩的方法小结
2017/11/14 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
python操作MongoDB基础知识
2013/11/01 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
python通过getopt模块如何获取执行的命令参数详解
2017/12/29 Python
用Python写一个自动木马程序
2019/09/17 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
Django 实现将图片转为Base64,然后使用json传输
2020/03/27 Python
python 写一个性能测试工具(一)
2020/10/24 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
总经理岗位职责描述
2014/02/08 职场文书
2015年反洗钱工作总结
2015/04/25 职场文书
鸡毛信观后感
2015/06/11 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
《圆的周长》教学反思
2016/02/17 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
微信小程序和php的登录实现
2021/04/01 PHP
SQL Server中锁的用法
2022/05/20 SQL Server