先将用户的输入值全部转换为大写(或小写),然后再行比较:

大家可以先参考实例:

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()方法进行排序

java判断两个字符串是否相等_JavaScript中判断两个字符串是否相等的方法相关推荐

  1. 不使用strcpy函数,编程实现把b字符串复制到a中的程序(字符串长度限制在100个字符以内)。以下是部分代码,请完成并提交

    不使用strcpy函数,编程实现把b字符串复制到a中的程序(字符串长度限制在100个字符以内).以下是部分代码,请完成并提交. #include <stdio.h> int main(){ ...

  2. 在两个TIA博途项目中组态PROFIBUS和PROFINET通信的具体方法

    在两个TIA博途项目中组态PROFIBUS和PROFINET通信的具体方法 为了在两个项目间实现S7-1200/S7-1500的通信,要为其中一个CPU创建GSDML文件,然后将其安装在TIA Por ...

  3. php找出字符串不同地方,PHP中比较两个字符串找出第一个不同字符位置例子

    PHP中比较两个字符串找出第一个不同字符位置例子 一般的做法就会这样: 复制代码 代码如下: for ($offset = 0; $offset < $length; ++$offset) { ...

  4. java gps 距离计算_Java教程之地图中计算两个GPS坐标点的距离

    原标题:Java教程之地图中计算两个GPS坐标点的距离 在日常开发中,我们难免要计算两个左边之间的距离,但是地图软件api的接口普遍要求我们必须要先将坐标点传递到他们服务器,然后计算出一个距离返还给我 ...

  5. python把字符串放到列表_python中for循环把字符串或者字典添加到列表的方法

    python中如何for循环把字符串添加到列表? 实例: 1.单个字符串用for循环添加到列表中: # 把L1中的字符串添加到列表alist里面 L1 = 'MJlifeBlog' alist = [ ...

  6. matlab 两列数据相乘,在EXCEL中,两列完全相同的数据,求和结果不一样??单元格两列相乘的公式...

    excel表格中怎样求和以及计算两列的乘积 一.这可以用SUMPRODUCT函数来完成. 二.比如是要 =A1*B1 A2*B2 .....A100*B100,则这个公以简化成 =SUMPRODUCT ...

  7. math.sqrt 有问题_JavaScript中带有示例的Math.sqrt()方法

    math.sqrt 有问题 JavaScript | Math.sqrt()方法 (JavaScript | Math.sqrt() Method) The Math.sqrt() method is ...

  8. c语言实验题——字符串排序,C语言中实现“三个数由小到大排序”的多种方法浅析...

    本文通过一个简单示例"三个数由小到大排序",将C语言中许多知识点融会贯通起来,这多种方法的实现可以将函数.宏.指针之间的区别和本质清晰的展示给读者,使本来很复杂难以理解的概念变得通 ...

  9. java.net.url 中文乱码_asp.net URL中包含中文参数造成乱码的解决方法

    asp.net URL中包含中文参数造成乱码的解决方法 更新时间:2010年03月08日 21:44:27   作者: 中文乱码一直以来是WEB开发中比较常见的问题之一,对于初学者来说,各种各样的编码 ...

最新文章

  1. 4.QML动画——概念、动画应用方式和动画的缓动曲线
  2. matlab提excel文字,matlab读取excel文字
  3. 内核 kmap_atomic分析
  4. spark on k8s准确完整的测试步骤:提交Pi计算程序至k8s集群
  5. java程序输出矩阵_java编程题之顺时针打印矩阵
  6. boost::unique_copy相关的测试程序
  7. 前端白屏问题_深入理解前端性能监控
  8. Spring之代理模式实例
  9. 罗永浩回应“调侃”俞敏洪转行做直播;苹果3月9日举行春季发布会;CentOS推出新车载Linux发行版 | 极客头条...
  10. python画画零基础_Python获取英雄联盟皮肤原画:新手玩家们都懵了!
  11. python 3.6中使用open函数遇见的问题
  12. jmeter下载安装配置(超细)
  13. 计算机考研复试之数据库
  14. day04-商城后台搭建
  15. matlab lu分解 源代码,矩阵的LU分解(Matlab程序)
  16. Bugzilla的安装和配置
  17. CTP开发——登录/查询
  18. web进销存源码-Java进销存ERP软件系统源码定制多仓库多门店 + 小程序 Saas多商户
  19. ICSharpCode.SharpZipLib压缩的文件不能解压的原因
  20. Bootstrap全部可用类名

热门文章

  1. [SSD综述1.6] 固态硬盘物理接口SATA、M.2、U.2、PCIe和BGA图文详解_SSD接口形态(Form Factor)
  2. C ++程序查找前n个自然数之和
  3. 在link.c中已经include了头文件了,为什么使用ld还无法识别mian和printf?
  4. Bugku:web矛盾
  5. 米哈游1024小解密记录(自用)
  6. lisp 标注螺纹孔_英制螺母标注方法及螺纹配合等级说明
  7. ConcurrentHashMap cas操作以及AtomicLongMap类
  8. CAS操作产生的ABA问题
  9. 面试谈薪资不要怂,6个技巧,助你轻松拿高薪!【吊打面试官系列】
  10. PMP中焦点小组与引导式研讨会的区别