字符串的api
一、基础
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) 替换字符 不改变原字符串,返回新字符串,每次只能替换一个
二、案例
判断用户名长度是否正确(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 ="用户名长度不合法" ; }}
监测留言板数量(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'; } }
检测一个字符串的首字母是大写还是小写
var str= "Hdhdhdhdhdhdhddaka";if(str.charAt(0)>='A' && str.charAt(0) <= 'Z') { console.log("大写");} else { console.log("不是大写");}
计算一个字符串中,大小写的数量
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);
判断密码中是否含有特殊字符
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; }}
判断字符串中的某个字符是不是唯一的
str = "asdfghds";function onlyChar(str,c) { if(str.indexOf(c) == -1) { console.log(c+"是唯一的") }else { console.log(c+"不是唯一的"); }}onlyChar(str,'a')
从字符串中找有有没有重复的字符
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));
敏感词过滤
分析
给button绑定事件获取input输入的值过滤内容中的敏感词汇,用*代替将过滤后input中的值,放入div中。
代码
方法一: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;}
验证码强度
分析
长度为6-16全是数字 提示弱函数特殊字符(!@#等) 提示强否则提示中
代码
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的更多相关文章
- Js 常用字符串操作 API
常用的一些字符串操作 API 整理 1.str.charAt(index).str.charCodeAt(index) - 返回指定位置的字符 / 字符编码(0~65535) index - 必须,表 ...
- Python API快餐教程(1) - 字符串查找API
字符串处理相关API 字符串是7种序列类型中的一种. 除了序列的操作函数,比如len()来求字符串长度之外,Python还为字符串提供丰富到可以写个编辑器的API. 查找类API 首先,下面的查找AP ...
- Atitit.ati str 字符串增强api
Atitit.ati str 字符串增强api 1. java StringUtils方法全览 分类: Java2011-11-30 17:22 8194人阅读 评论(2) 收藏 举报 javas ...
- Atitit.ati  str  字符串增强api
Atitit.ati str 字符串增强api 1. java StringUtils方法全览 分类: Java2011-11-30 17:22 8194人阅读 评论(2) 收藏 举报 javas ...
- ES5新增数组方法测试和字符串常见API测试
首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...
- 我用开天平台做了一个字符串检查API,hin 简单~~
摘要:本文使用了工作台的API全生命周期管理和函数管理功能,编写字符串检查的函数,实现了API的快速创建和发布. 本文分享自华为云社区<[我用开天平台做了一个字符串检查API>,作者:人类 ...
- Javascript数组与字符串常用api
目录 javaScript(api学习) 数组有关的api 创建数组 数组的增删改查 indexOf(); push(),pop(),unshift(),shift() forEach() map() ...
- java===字符串常用API介绍(转)
本文转自:http://blog.csdn.net/crazy_kid_hnf/article/details/55102861 字符串基本操作 1.substring(from,end)(含头不含尾 ...
- 字符串的api (基础)
一.基础 1.字符串.charAt(index) 根据下标获取字符串的某一个字符 应用: 判断字符串的首字母是否大写 任意给定的一串字母,统计字符串里面的大写字母和小写字母的个数 2.字符串.inde ...
随机推荐
- JAVA课堂-动手动脑1
一.Enum:一般用来表示一组相同类型的常量.对这些属性用常量的好处是显而易见的,不仅可以保证单例,且比较时候可以用”==”来替换equals,枚举对象里面的值都必须是唯一的. 代码: public ...
- Android | Sqlite3
Android 数据库创建及使用: 创建: package he3.sd.dao; import android.content.Context; import android.database.sq ...
- Codeforces Round #575 (Div. 3)
本蒟蒻已经掉到灰名了(菜到落泪),希望这次打完能重回绿名吧...... 这次赛中A了三题 下面是本蒟蒻的题解 A.Three Piles of Candies 这题没啥好说的,相加除2就完事了 #in ...
- 简单了解一下事件循环(Event Loop)
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...
- 高德全链路压测平台TestPG的架构与实践
导读 2018年十一当天,高德DAU突破一个亿,不断增长的日活带来喜悦的同时,也给支撑高德业务的技术人带来了挑战.如何保障系统的稳定性,如何保证系统能持续的为用户提供可靠的服务?是所有高德技术人面临的 ...
- 为什么不建议在hbase中使用过多的列簇
我们知道,hbase表可以设置一个至多个列簇(column families),但是为什么说越少的列簇越好呢? 官网原文: HBase currently does not do well with ...
- [SCOI2007]压缩(动态规划,区间dp,字符串哈希)
[SCOI2007]压缩 状态:设\(dp[i][j]\)表示前i个字符,最后一个\(M\)放置在\(j\)位置之后的最短字串长度. 转移有三类,用刷表法来实现. 第一种是直接往压缩串后面填字符,这样 ...
- Flutter学习笔记(21)--TextField文本框组件和Card卡片组件
如需转载,请注明出处:Flutter学习笔记(21)--TextField文本框组件和Card卡片组件 今天来学习下TextField文本框组件和Card卡片组件. 只要是应用程序就少不了交互,基本上 ...
- Linux任务调度(8)
crond任务调度: 是指系统在某个时间执行特定的命令或程序. 分类:1.系统工作,有些重要的工作必须周而复始地执行,如病毒扫描等:2.个别用户工作,个别用户可能希望执行某些程序,如mysql数据库备 ...
- test-HTML
吃葡萄不吐葡萄皮- Hello, This is my first html! baidu yiciyuan 防止嗅探 faststone capture picture movie ...