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 相关文章推荐
图片之间的切换
Jun 26 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
Feb 04 Javascript
jQuery表格插件datatables用法总结
Sep 05 Javascript
jQuery+ajax实现动态执行脚本的方法
Jan 27 Javascript
javascript实现判断鼠标的状态
Jul 10 Javascript
jQuery中选择器的基础使用教程
May 23 Javascript
AngularJs表单校验功能实例代码
Feb 09 Javascript
JS实现简单表格排序操作示例
Oct 07 Javascript
JS跳转手机站url的若干注意事项
Oct 18 Javascript
微信小程序开发之tabbar图标和颜色的实现
Oct 17 Javascript
解决vue.js提交数组时出现数组下标的问题
Nov 05 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中explode的负数limit用法分析
2015/02/27 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
PHP的AES加密算法完整实例
2016/07/20 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
js返回前一页刷新本页重载页面
2014/07/29 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
2020/01/08 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
Python去掉字符串中空格的方法
2014/03/11 Python
多版本Python共存的配置方法
2017/05/22 Python
python利用lxml读写xml格式的文件
2017/08/10 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
python 自动重连wifi windows的方法
2018/12/18 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
Pytorch之保存读取模型实例
2019/12/30 Python
Python tkinter模版代码实例
2020/02/05 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
python如何随机生成高强度密码
2020/08/19 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
恒华伟业笔试面试题
2015/02/26 面试题
汽车专业学生自我评价
2014/01/19 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
保护环境建议书400字
2014/05/13 职场文书
2014学校领导四风问题对照检查材料思想汇报
2014/09/22 职场文书
护士求职自荐信范文
2015/03/04 职场文书