Javascript基础学习

eg:利用正则表达式来去掉空格。

1:msg=' Hello ';

  1. <script type="text/javascript">
  2.     var msg = ' Hello ';
  3.     msg = msg.replace(/^\s+/, "").replace(/&\s+/, '');
  4.     alert(msg);
  5. </script>

eg:利用js实现登录的时候显示密码的强度

这个主要使用正则表达式来进行判断和js操作样式来改变下面的颜色。需要注意的是switch的时候千万不要忘记写break;在合适的地方跳出来。

  1. <script type="text/javascript">
  2.     window.onload = function () {
  3.         //这里为文本框注册一个键盘键按下后弹起的事件
  4.         document.getElementById('txtPassword').onkeyup = function () {
  5.             var tds = document.getElementById('tb1').getElementsByTagName('td');
  6.             //初始化颜色
  7.             for (var i = 0; i <tds.length; i++) {
  8.                 tds[i].style.backgroundColor = '';
  9.             }
  10.             //1:获取用户输入的内容
  11.             var val = this.value;
  12.             if (val.length > 0) {
  13.             //2:根据用户输入的密码,来效验密码的强度。
  14.             var pwdLvl = getPasswordLever(val);
  15.             //3:改变下面显示的强度。
  16.             switch (pwdLvl) {
  17.                 case 0:
  18.                 case 1:
  19.                 case 2:
  20.                     //弱
  21.                     tds[0].style.backgroundColor = 'red';
  22.                     break;
  23.                 case 3:
  24.                 case 4:
  25.                     //中
  26.                     tds[0].style.backgroundColor = 'orange';
  27.                     tds[1].style.backgroundColor = 'orange';
  28.                     break;
  29.                 case 5:
  30.                     //强
  31.                     tds[0].style.backgroundColor = 'green';
  32.                     tds[1].style.backgroundColor = 'green';
  33.                     tds[2].style.backgroundColor = 'green';
  34.                     break;
  35.                 default:
  36.             }
  37.             }
  38.  
  39.         };
  40.     };
  41.     //这里是申明了一个匿名函数,通过这个匿名函数来判断密码的强度。
  42.     function getPasswordLever(user_pwd) {
  43.         //下面是通过正则表达式的match()方法来判断输入的密码中是否有满足的指定条件。
  44.         var lvl = 0;
  45.         //1:含有数字,强度+1
  46.         if (user_pwd.match(/\d+/)) {
  47.             lvl++;
  48.         }
  49.         //2:含有小写字母,强度+1
  50.         if (user_pwd.match(/[a-z]+/)) {
  51.             lvl++;
  52.         }
  53.         //3:含有大写字母,强度+1
  54.         if (user_pwd.match(/[A-Z]+/)) {
  55.             lvl++;
  56.         }
  57.         //4:含有特殊符号,强度+1
  58.         if (user_pwd.match(/[^0-9a-zA-Z]+/)) {
  59.             lvl++;
  60.         }
  61.         //5:密码的长度超过6位,强度+1
  62.         if (user_pwd.length > 6) {
  63.             lvl++;
  64.         }
  65.         return lvl;
  66.     }
  67. </script>


关于笔记:自己要很认真的写,一些知识点自己学过去就会忘记,笔记可以为以后留着复习用。希望自己坚持下去。

JavaScript基础插曲-练习的更多相关文章

  1. JavaScript基础插曲—元素样式,正则表达式,全局模式,提取数组

    JavaScript基础学习 学习js的基础很重要,可以让自己有更多的技能.我相信这个以后就会用到. Eg:点击选择框,在div中显示出选择的数量 window.onload = function() ...

  2. JavaScript基础—插曲

    Javascript基础 1:js中我们最好使用单引号,其实可以使用双引号的但是为了区别所以js中全部使用单引号.注释和C#的是一样的.网页里面的执行顺序是从上到下依次执行的,不管你js放到哪里,都会 ...

  3. JavaScript基础插曲---apply,call和URL编码等方法

    Js基础学习 Js的压缩: 就是利用js的语法格式通过缩短变量名,去掉空格等来进行压缩. Apply和call的使用 1:apply方法:应用某一对象的方法,用于一个对象替换当前对象.主要是改变thi ...

  4. JavaScript基础插曲—获取标签,插入元素,操作样式

    Js基础 1:document.write() 这个是动态创建元素内容,利用js.这个可以利用js来创建元素,文本,标签等,document.write()与document.writeln()的区别 ...

  5. JavaScript基础—插曲02

    Js学习基础 1:关于js中的数组 这里面可以是键值对的形式来存储的,我们必须利用forIn来输出,这就相当于foreach一样. var dir = new Array(); dir['0'] = ...

  6. JavaScript基础

    JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...

  7. 一步步学习javascript基础篇(0):开篇索引

    索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...

  8. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  9. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

随机推荐

  1. [.NET领域驱动设计实战系列]专题三:前期准备之规约模式(Specification Pattern)

    一.前言 在专题二中已经应用DDD和SOA的思想简单构建了一个网上书店的网站,接下来的专题中将会对该网站补充更多的DDD的内容.本专题作为一个准备专题,因为在后面一个专题中将会网上书店中的仓储实现引入 ...

  2. RCP:给GEF编辑器添加拖拽辅助线

    当图形边缘碰触时,会产生一条帮助拖拽的辅助线 这里需要三个类: 1.SnapToGeomotry 2.SnapToGuide(非必须) 3.SnapFeedbackPolicy

  3. 【腾讯Bugly干货分享】安卓单元测试:What, Why and How

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d28349101cd07a5404c415 Dev Club 是一个交流移动 ...

  4. Android多线程分析之四:MessageQueue的实现

    Android多线程分析之四:MessageQueue的实现 罗朝辉 (http://www.cnblogs.com/kesalin/) CC 许可,转载请注明出处 在前面两篇文章<Androi ...

  5. Flyway, 数据库Schema管理利器

    整天跟数据库打交道的程序员都知道,当数据库的Schema发生改变时是多么痛苦的事情.尤其是一个在不断开发完善的项目,随着需求变化,数据库的schema也会跟着变化,而追踪记录这些变化一向都是费时费力. ...

  6. List.Foreach与C#的foreach的区别

    几年前参加面试时就被提问过,现在面试别人时也经常提到这个问题. 今天小试了一下.得出如下几点: 1. 首先,mscorlib里System.Collections.Generic. List<T ...

  7. EF架构~通过EF6的DbCommand拦截器来实现数据库读写分离

    回到目录 前几天看了一个基于sqlserver的负载均衡与读写分离的软件Moebius,实现的方式还是不错的,这使得用sqlserver数据库的同学时有机会对数据库进行更有效的优化了

  8. paip.python错误解决23

    paip.python错误解决 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/attilax ...

  9. JS---DOM操作有哪一些

    一  DOM对象有哪一些 1   windos 1.属性  opener 2.方法  open(),close() 例:<script langguage="javascript&qu ...

  10. Django的Model上都有些什么

    Django的Model上都有些什么 modelinfo= ['DoesNotExist', 'MultipleObjectsReturned', '__class__', '__delattr__' ...