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 相关文章推荐
8款非常棒的响应式jQuery 幻灯片插件推荐
Feb 02 Javascript
跨浏览器的事件对象介绍
Jun 27 Javascript
在JS中解析HTML字符串示例代码
Apr 16 Javascript
jQuery与Ajax以及序列化
Feb 01 Javascript
简单理解vue中实例属性vm.$els
Dec 01 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
Apr 18 Javascript
详解Vue2.0之去掉组件click事件的native修饰
Apr 20 Javascript
jQuery实现锚点向下平滑滚动特效示例
Aug 29 jQuery
JavaScript实现图片本地预览功能【不用上传至服务器】
Sep 20 Javascript
layui实现动态和静态分页
Apr 28 Javascript
require.js 加载过程与使用方法介绍
Oct 30 Javascript
Vue核心概念Action的总结
Jan 18 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
DIY实用性框形天线
2021/03/02 无线电
php 读取shell管道传输过来的内容
2010/03/01 PHP
php使用curl详细解析及问题汇总
2016/08/11 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
ThinkPHP 5.x远程命令执行漏洞复现
2019/09/23 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
超清晰的document对象详解
2007/02/27 Javascript
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
BootStrap入门教程(一)之可视化布局
2016/09/19 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
angular4自定义组件详解
2017/09/28 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
[05:05]DOTA2亚洲邀请赛 战队出场仪式
2015/02/07 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
python使用xauth方式登录饭否网然后发消息
2014/04/11 Python
Python抓取手机号归属地信息示例代码
2016/11/28 Python
python使用mysql数据库示例代码
2017/05/21 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
Python动态生成多维数组的方法示例
2018/08/09 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
HTML5计时器小例子
2013/10/15 HTML / CSS
艺术设计专业个人求职信范文
2013/12/11 职场文书
销售员试用期自我评价
2014/09/15 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
离婚协议书范文
2015/01/26 职场文书
老公保证书怎么写
2015/02/26 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
银行求职信怎么写
2019/06/20 职场文书
初中教务主任竞聘演讲稿(范文)
2019/08/20 职场文书
Vue全局事件总线你了解吗
2022/02/24 Vue.js