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 相关文章推荐
不要小看注释掉的JS 引起的安全问题
Dec 27 Javascript
检测是否已安装 .NET Framework 3.5的js脚本
Feb 14 Javascript
读JavaScript DOM编程艺术笔记
Nov 15 Javascript
基于javascript滚动图片具体实现
Nov 18 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
May 29 Javascript
使用jquery 简单实现下拉菜单
Jan 14 Javascript
浅谈JavaScript 覆盖原型以及更改原型
Aug 31 Javascript
JS实现淡入淡出图片效果的方法分析
Dec 20 Javascript
Vue.js仿微信聊天窗口展示组件功能
Aug 11 Javascript
vue中post请求以a=a&amp;b=b 的格式写遇到的问题
Apr 27 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
Oct 10 Javascript
nodemon实现Typescript项目热更新的示例代码
Nov 19 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中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
关于jQuery中的end()使用方法
2011/07/10 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
node爬取微博的数据的简单封装库nodeweibo使用指南
2015/01/02 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
ajax分页效果(bootstrap模态框)
2017/01/23 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
Vue.js项目部署到服务器的详细步骤
2017/07/17 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
Vue利用History记录上一页面的数据方法实例
2018/11/02 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
简单了解TypeScript中如何继承 Error 类
2019/06/21 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
使用tensorflow实现AlexNet
2017/11/20 Python
Flask框架Flask-Login用法分析
2018/07/23 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
HTML5进度条特效
2014/12/18 HTML / CSS
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
预订奥兰多和佛罗里达州公园门票:FloridaTix
2018/01/03 全球购物
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
体育专业个人的求职信范文
2013/09/21 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
世界红十字日活动总结
2015/02/10 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
2019年家电促销广告语集锦
2019/10/21 职场文书
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers
mysql的单列多值存储实例详解
2022/04/05 MySQL