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. 【WPF】如何把一个枚举属性绑定到多个RadioButton

    一.说明 很多时候,我们要把一个枚举的属性的绑定到一组RadioButton上.大家都知道是使用IValueConverter来做,但到底怎么做才好? 而且多个RadioButton的Checked和 ...

  2. 人人都是 DBA(VII)B 树和 B+ 树

    B 树(B-Tree)是为磁盘等辅助存取设备设计的一种平衡查找树,它实现了以 O(log n) 时间复杂度执行查找.顺序读取.插入和删除操作.由于 B 树和 B 树的变种在降低磁盘 I/O 操作次数方 ...

  3. bidi(双向文字)与RTL布局总结

    BIDI 双向文字就是一个字符串中包含了两种文字,既包含从左到右的文字又包含从右到左的文字. 大多数文字都是从左到右的书写习惯,比如拉丁文字(英文字母)和汉字,少数文字是从右到左的书写方式比如阿拉伯文 ...

  4. 如何基于纯GDI实现alpha通道的矢量和文字绘制

    今天有人在QQ群里问GDI能不能支持带alpha通道的线条绘制? 大家的答案当然是否定的,很多人推荐用GDI+. 一个基本的图形引擎要包括几个方面的支持:位图绘制,文字绘制,矢量绘制(如矩形,线条). ...

  5. [安卓] 19、一个蓝牙4.0安卓DEMO

    一.工程结构&概述 整个应用包含两个按钮,一个是搜索所有蓝牙设备,另一个是连接所有蓝牙设备~ 下面是整个工程的文件结构: 二.代码业务流程跟踪 2.1.两个按钮 下面讲讲该工程里的主要跳转流程 ...

  6. 网络误区:不用中间变量交换2个变量的value,最高效的是异或运算.

    本文记录了不使用中间变量交换2个变量的value,很多的网络留言说是直接异或运算就可以了,而且效率很高,是真的吗? 这里简单的说一下我的环境:Win7 32位,Qt creator 5.4.1 编译器 ...

  7. IOS Socket 04-利用框架CocoaAsyncSocket实现客户端/服务器端

    这篇文章,我们介绍CocoaAsyncSocket框架的使用,主要介绍实现客户端/服务器端代码,相信在网上已经很多这样的文章了,这里做一下自己的总结.这里介绍使用GCD方式 一.客户端 1.下载地址 ...

  8. 大叔也说Xamarin~Android篇~原生登陆与WebView的网站如何共享Session

    回到目录 事情是这样的,我们最近开了一个APP,主要使用xamarin做了一个登陆,它与服务器API进行数据通讯,当用户名密码正确去,跳转到新的activity,并在webview控件中打开服务端的H ...

  9. excel怎么固定第一行

    这里给大家介绍一下怎么固定表格的第一行,或者说怎么固定表格的表头. 1.我这里有一个成绩表,希望固定住其第一行. 2.选择单元格A2 注意:你只需要选择所要固定行的下一行的任一单元格即可!!! 3.然 ...

  10. Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针

    Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针   1.1. java方法引用(Method References) 与c#委托与脚本语言js ...