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 相关文章推荐
jquery1.4后 jqDrag 拖动 不可用
Feb 06 Javascript
JS学习之一个简易的日历控件
Mar 24 Javascript
JS实现Enter键跳转及控件获得焦点
Aug 12 Javascript
HTML,CSS,JavaScript速查表推荐
Dec 02 Javascript
Javascript基础教程之变量
Jan 18 Javascript
jQuery插件pagewalkthrough实现引导页效果
Jul 05 Javascript
在页面中引入js的两种方法(推荐)
Aug 29 Javascript
Vue shopCart 组件开发详解
Jan 26 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
May 15 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
Aug 16 Javascript
vue 登录滑动验证实现代码
Aug 24 Javascript
js中Function引用类型常见有用的方法和属性详解
Dec 11 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 join函数应用
2011/05/04 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
php简单smarty入门程序实例
2015/06/11 PHP
PHP性能分析工具xhprof的安装使用与注意事项
2017/12/19 PHP
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
类似于QQ的右滑删除效果的实现方法
2016/10/16 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
jQuery Ajax向服务端传递数组参数值的实例代码
2017/09/03 jQuery
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
angular 实时监听input框value值的变化触发函数方法
2018/08/31 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
js实现简易计算器功能
2019/10/18 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
vue 封装 Adminlte3组件的实现
2020/03/18 Javascript
vue与iframe之间的信息交互的实现
2020/04/08 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
[01:00:35]2018DOTA2亚洲邀请赛3月30日B组 EffcetVSMineski
2018/03/31 DOTA
python实现的jpg格式图片修复代码
2015/04/21 Python
浅谈Python中的数据类型
2015/05/05 Python
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
深入理解Python3中的http.client模块
2017/03/29 Python
Python编程实现数学运算求一元二次方程的实根算法示例
2017/04/02 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
一文了解Python并发编程的工程实现方法
2019/05/31 Python
python单元测试框架pytest的使用示例
2020/10/07 Python
《听鱼说话》教学反思
2014/02/15 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
老公婚前保证书
2015/02/28 职场文书
生产车间管理制度
2015/08/04 职场文书
小学记事作文之200字
2019/08/06 职场文书