一、基础

1.字符串.charAt(index) 根据下标获取字符串的某一个字符

应用: 判断字符串的首字母是否大写

任意给定的一串字母,统计字符串里面的大写字母和小写字母的个数

2.字符串.indexOf("") 查询字符在字符串中第一次出现的下标(如果没找到,返回-1) 如果是两个参数,第二个代表从第几个查找

应用: 判断密码中是否含有特殊字符
字符串去重

3.字符串.lastIndexOf("") 查找字符在字符串中最后一次出现的位置

应用: 判断字符串中的某个字符是不是唯一的

从字符串中找出没有重复的字符

4.字符串.substring(start,end) 字符串的截取 (从start开始截取到end 不包括end)(不操作原字符串)

如果 indexStart 等于 indexEnd,substring 返回一个空字符串。

如果省略 indexEnd,substring 提取字符一直到字符串末尾。

如果任一参数小于 0 或为 NaN,则被当作 0。

如果任一参数大于 stringName.length,则被当作 stringName.length。

如果 indexStart 大于 indexEnd,则 substring 的执行效果就像两个参数调换了一样。

5.字符串.slice(start,end) 字符串的截取 (从start开始截取到end 不包括end)(接受一个负的参数 -1代表从最后一个开始)(不操作原符串) str.slice(-3,-1) 倒数第三个不包括倒数第一个

6.字符串.substr(start,length) 从start开始截取长度为length的部分。(如果参数是一个的情况下,是删除几个字符)(不操作原符串)

7.字符串.split(分隔符) 》 字符串翻转(转数组,数组翻找再赋值给字符串)(不操作原符串)

8.字符串.replace(old,newStr) 替换字符 不改变原字符串,返回新字符串,每次只能替换一个

二、案例

  1. 判断用户名长度是否正确(oninput事件,时刻监听文本框是否发生变化。元素.oninput)

    <input type="text" id="username">
    <span id="info"></span>
    username.oninput = function() {
      if(this.value.length>=6 && this.value.length<=10) {
      info.innerHTML ="用户名长度合法" ;
    } else {
    info.innerHTML ="用户名长度不合法" ;
    }
    }
  2. 监测留言板数量(oninput事件,时刻监听文本框是否发生变化。元素.oninput)

    css代码:
      textarea {
          width: 500px;
          height: 200px;
          resize: none;
      }
      em {
          font-size: 22px;
          color: red;
      }
    html代码:
    <textarea name="" id="txt"></textarea>
      <span id="info">剩余字数: <em id="text1">200</em></span>
    js代码:
      txt.oninput = function() {
          text1.innerHTML = 200 - this.value.length ;
          if (this.value.length >= 200) {
                txt.disabled = 'true';  
          }
      }
  3. 检测一个字符串的首字母是大写还是小写

    var  str= "Hdhdhdhdhdhdhddaka";
    if(str.charAt(0)>='A' && str.charAt(0) <= 'Z') {
    console.log("大写");
    } else {
    console.log("不是大写");
    }
  4. 计算一个字符串中,大小写的数量

    var str = "lllllfkfLLLLLLLL";
    var uppercase = 0;
    var lowercase = 0;
    for (var i = 0, k = str.length; i < k; i++) {
    if (str.charAt(i) >= 'A' && str.charAt(i) <= 'Z') {
    uppercase++;
    } else {
    lowercase++;
    }
    }
    console.log("大写:" + uppercase + ";小写:" + uppercase);
  5. 判断密码中是否含有特殊字符

    var special = "#$%&*";
    var str = "11111jdjdjjdd%^#$%jd&";
    for (var i = 0, k = special.length; i < k; i++) {
    if (str.indexOf(special.charAt(i)) != -1) {
    console.log("有特殊字符");
    break;
    }
    }
  6. 判断字符串中的某个字符是不是唯一的

    str = "asdfghds";

    function onlyChar(str,c) {  
      if(str.indexOf(c) == -1) {
      console.log(c+"是唯一的")
    }else {
    console.log(c+"不是唯一的");
    }
    }
    onlyChar(str,'a')
  7. 从字符串中找有有没有重复的字符

    str = "asdfghds";
    function strNoRepeat(str) {
      strTemp = "";
      for (var i = 0, k = str.length; i < k; i++) {
          if (str.indexOf(str.charAt(i)) == str.lastIndexOf(str.charAt(i))) {
          strTemp += str.charAt(i);
    }
    }
    return strTemp;
    }

    console.log(strNoRepeat(str));
  8. 敏感词过滤

    1. 分析

      给button绑定事件
      获取input输入的值
      过滤内容中的敏感词汇,用*代替
      将过滤后input中的值,放入div中。
    2. 代码

      方法一:

      var special = ['fuck', 'md', 'kao', 'laji'];
      btn.onclick = function () {
        //获取文本框中的值
        var inputVal = txt.value;
        // 过滤敏感词汇
        for (var i = 0; i < special.length; i++) {
        for (var j = 0; j < inputVal.length; j++) {
        inputVal = inputVal.replace(special[i], '*');
        }
      }
      //将过滤后的值写入div中
      content.innerHTML = inputVal;
      }

      方法二:(利用正则表达式进行全局匹配)
      var special = ['fuck', 'md', 'kao', 'laji'];
      btn.onclick = function () {
        //获取文本框中的值
        var inputVal = txt.value;
        for (var i = 0; i < special.length; i++) {
        var reg = new RegExp(special[i], "g");   //正则表达式 g代表的是全局匹配
        //循环遍历敏感词
        inputVal = inputVal.replace(reg, '*');
        }

      content.innerHTML = inputVal;
      }
  9. 验证码强度

    1. 分析

      长度为6-16
      全是数字 提示弱
      函数特殊字符(!@#等) 提示强
      否则提示中
    2. 代码

      css代码:
      <input type="text" id="psw"><span id="info"></span>
      html代码:
      span {
                font-size: 12px;
                margin-left: 10px;
            }
      js代码:
      var special = "@#$%^&*";
      //找到页面中的元素,绑定事件
      psw.oninput = function () {
      var pswVal = psw.value;
      if (pswVal.length < 6 || pswVal.length > 16) {
      return info.innerHTML = "密码长度不合法!";
      }
      if (typeof (Number(pswVal)) == 'number' && !isNaN(pswVal)) {
      return info.innerHTML = "密码强度弱!";
      }
      // if(Number(pswVal) == pswVal) {
      // return info.innerHTML = "密码强度弱!"
      // }
      for (var i = 0; i < special.length; i++) {
      if (pswVal.indexOf(special[i]) != -1) {
      return info.innerHTML = "密码强度强!";
      }
      }
      return info.innerHTML = "密码强度中";
      }

字符串的api (基础)的更多相关文章

  1. 《Node.js高级编程》之Node 核心API基础

    Node 核心API基础 第三章 加载模块 第四章 应用缓冲区 第五章 事件发射器模式简化事件绑定 第六章 使用定时器制定函数执行计划 第三章 加载模块 本章提要 加载模块 创建模块 使用node_m ...

  2. 从头编写 asp.net core 2.0 web api 基础框架 (1)

    工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相 ...

  3. 【转载】从头编写 asp.net core 2.0 web api 基础框架 (1)

    工具: 1.Visual Studio 2017 V15.3.5+ 2.Postman (Chrome的App) 3.Chrome (最好是) 关于.net core或者.net core 2.0的相 ...

  4. 从头编写asp.net core 2.0 web api 基础框架 (5) + 使用Identity Server 4建立Authorization Server (7) 可运行前后台源码

    前台使用angular 5, 后台是asp.net core 2.0 web api + identity server 4. 从头编写asp.net core 2.0 web api 基础框架: 第 ...

  5. Js 常用字符串操作 API

    常用的一些字符串操作 API 整理 1.str.charAt(index).str.charCodeAt(index) - 返回指定位置的字符 / 字符编码(0~65535) index - 必须,表 ...

  6. Python API快餐教程(1) - 字符串查找API

    字符串处理相关API 字符串是7种序列类型中的一种. 除了序列的操作函数,比如len()来求字符串长度之外,Python还为字符串提供丰富到可以写个编辑器的API. 查找类API 首先,下面的查找AP ...

  7. Atitit.ati  str  字符串增强api

    Atitit.ati  str  字符串增强api 1. java StringUtils方法全览 分类: Java2011-11-30 17:22 8194人阅读 评论(2) 收藏 举报 javas ...

  8. Atitit.ati&#160;&#160;str&#160;&#160;字符串增强api

    Atitit.ati  str  字符串增强api 1. java StringUtils方法全览 分类: Java2011-11-30 17:22 8194人阅读 评论(2) 收藏 举报 javas ...

  9. 从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目

    原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...

随机推荐

  1. PPT | Docker定义存储-让应用无痛运行

    编者注: 本文为9月27日晚上8点有容云平台存储架构师张朝潞在腾讯课堂中演讲的PPT,本次课堂为有容云主办的线上直播Docker Live时代●Online Meetup-第三期:Docker定义存储 ...

  2. Of efficiency and methodology

    There are only too many articles and books which pertains to the discussion of efficiency and method ...

  3. webgl核心要素

    WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个JavaScript绑定,提供硬件3D加速渲染, ...

  4. 微信公众号发送消息给用户 php

    1.微信公众号 这里得话 一开始先去看了 微信公众号的接口 发现网页授权需要时认证的服务号,一开始想的是那去申请一个认证的服务号岂不是很费事,然后网上搜了搜,发现了还有微信公众号个人测试号这个东西,所 ...

  5. pikachu

    题目链接:http://127.0.0.1/pikachu-master/vul/sqli/sqli_id.php 题目来源:pikachu-->SQL-inject-->数字型注入(po ...

  6. 关于JSP页面的静态包含和动态包含

    JSP中有两种包含:静态包含:<%@include file="被包含页面"%> 和 动态包含:<jsp:include page="被包含页面&quo ...

  7. (二十一)c#Winform自定义控件-气泡提示

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...

  8. 理解-NumPy

    # 理解 NumPy 在这篇文章中,我们将介绍使用NumPy的基础知识,NumPy是一个功能强大的Python库,允许更高级的数据操作和数学计算. # 什么是 NumPy? NumPy是一个功能强大的 ...

  9. Sqlserver 锁表查询代码记录

    --方法1WITH CTE_SID ( BSID, SID, sql_handle ) AS ( SELECT blocking_session_id , session_id , sql_handl ...

  10. 思科根据键值获取OID方法

    一.打开思科网站官网 https://www.cisco.com/ 二.按下图路径选择 三.点击MIB Locator 四.选择"SNMP Object Navigator" 五. ...