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基于对象三大特性(封装性、继承性、多态性)
Jan 04 Javascript
微信小程序 教程之模块化
Oct 17 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 Javascript
WebPack基础知识详解
Jan 16 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
Mar 10 Javascript
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
使用vue-cli3新建一个项目并写好基本配置(推荐)
Apr 24 Javascript
微信小程序和百度的语音识别接口详解
May 06 Javascript
jQuery操作cookie的示例代码
Jun 05 jQuery
vue项目中运用webpack动态配置打包多种环境域名的方法
Jun 24 Javascript
Vue移动端项目实现使用手机预览调试操作
Jul 18 Javascript
如何实现小程序与小程序之间的跳转
Nov 04 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开发入门教程之面向对象
2006/12/05 PHP
如何用php获取文件名后缀
2013/06/09 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
分享Bootstrap简单表格、表单、登录页面
2017/08/04 Javascript
微信小程序中button组件的边框设置的实例详解
2017/09/27 Javascript
实例讲解javascript实现异步图片上传方法
2017/12/05 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
关于vue v-for 循环问题(一行显示四个,每一行的最右边那个计算属性)
2018/09/04 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
2019/05/16 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
python 默认参数问题的陷阱
2016/02/29 Python
详解Python字典小结
2018/10/20 Python
django自带调试服务器的使用详解
2019/08/29 Python
详解Django配置优化方法
2019/11/18 Python
详解有关PyCharm安装库失败的问题的解决方法
2020/02/02 Python
Python Numpy,mask图像的生成详解
2020/02/19 Python
13个Pandas实用技巧,助你提高开发效率
2020/08/19 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
老公保证书范文
2014/04/29 职场文书
触电现场处置方案
2014/05/14 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
2015年节能减排工作总结
2015/05/14 职场文书
Python爬虫之爬取最新更新的小说网站
2021/05/06 Python
python 中的jieba分词库
2021/11/23 Python
CSS元素定位之通过元素的标签或者元素的id、class属性定位详解
2022/09/23 HTML / CSS