一、基础

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. Js 常用字符串操作 API

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

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

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

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

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

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

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

  5. ES5新增数组方法测试和字符串常见API测试

    首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  6. 我用开天平台做了一个字符串检查API,hin 简单~~

    摘要:本文使用了工作台的API全生命周期管理和函数管理功能,编写字符串检查的函数,实现了API的快速创建和发布. 本文分享自华为云社区<[我用开天平台做了一个字符串检查API>,作者:人类 ...

  7. Javascript数组与字符串常用api

    目录 javaScript(api学习) 数组有关的api 创建数组 数组的增删改查 indexOf(); push(),pop(),unshift(),shift() forEach() map() ...

  8. java===字符串常用API介绍(转)

    本文转自:http://blog.csdn.net/crazy_kid_hnf/article/details/55102861 字符串基本操作 1.substring(from,end)(含头不含尾 ...

  9. 字符串的api (基础)

    一.基础 1.字符串.charAt(index) 根据下标获取字符串的某一个字符 应用: 判断字符串的首字母是否大写 任意给定的一串字母,统计字符串里面的大写字母和小写字母的个数 2.字符串.inde ...

随机推荐

  1. Spring条件注解@Conditional

    @Conditional是Spring4新提供的注解,它的作用是根据某个条件创建特定的Bean,通过实现Condition接口,并重写matches接口来构造判断条件.总的来说,就是根据特定条件来控制 ...

  2. 用html和css写一个头部header和左侧菜单栏menu-bar固定的的页面

    这个页面header部分是100%的宽度,60px的高度,左侧是刚好一屏的高度,180的宽度,右侧的部分把剩余的空间占满,刚开始的时候还没怎么接触这样的页面,以为使用js读取浏览的可视化宽高,然后在做 ...

  3. c#实现深拷贝的几种方法

    为什么要用到深拷贝呢?比如我们建了某个类Person,并且实例化出一个对象,然后,突然需要把这个对象复制一遍,并且复制出来的对象要跟之前的一模一样,来看下我们一般会怎么做,看代码 public cla ...

  4. 看完这篇还不清楚Netty的内存管理,那我就哭了!

    说明 在学习Netty的时候,ByteBuf随处可见,但是如何高效分配ByteBuf还是很复杂的,Netty的池化内存分配这块还是比较难的,很多人学习过,看过但是还是云里雾里的,本篇文章就是主要来讲解 ...

  5. java虚拟机学习笔记(六)---垃圾收集算法

    主要讨论集中垃圾收集算法的思想及发展过程. 1.标记-清除法 最基础的收集算法是标记-清除法,算法分为标记和清除两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象,其标记过程 ...

  6. abc -- 牛客

    题目描述 设a.b.c均是0到9之间的数字,abc.bcc是两个三位数,且有:abc+bcc=532.求满足条件的所有a.b.c的值. 输入描述: 题目没有任何输入. 输出描述: 请输出所有满足题目条 ...

  7. 【0730 | Day 4】Python基础(二)

    Part 7 数据类型基础 一.什么是数据类型? 我们要和计算机进行交流,那么彼此肯定需要进行信息交互.我们想要让计算机认识我们,需要提供我们的身高.体重以及爱好等等.那么,不同的数据分别对应不同的数 ...

  8. 第三方登录之QQ

    public class MainActivity extends AppCompatActivity { private Button btn; private TextView tv; priva ...

  9. Hbase多版本(version)数据写入和读取

    1. 首先创建一个支持多版本的hbase表 create }   2.put几条测试数据 put ','f1:name','jack1' put ','f1:name','jack2' 3.读取多版本 ...

  10. Redis缓存,持久化,高可用

    一,Redis作缓存服务器 ​ 本篇博客是接着上一篇博客未分享完的技术点. ​ redis作为缓存服务器是众多企业中的选择之一,虽然该技术很成熟但也是存在一定的问题.就是缓存带来的缓存穿透,缓存击穿, ...