JavaScript基础知识(正则表达式、字符串)
23、正则表达式
作用:定义一个特定的验证字符串内容规则的表达式
注:正则表达式并不是JavaScript独有的;JavaScript支持正则表达式
var a = { }; // 定义一个空对象 var b = [ ];// 定义一个空数组
var d = / /; // 定义一个空正则表达式 var c = ( ); 【错误】
i 定义正则表达式
定义一个空的正则表达式时 ---编辑器会报错; 空的正则表达式的值 ---undefined
- 字面量方式
var 正则表达式 = /表达式规则/修饰符
- 构造函数方式
var 正则表达式 = new RegExp(表达式规则,修饰符)
i 正则表达式对象的验证方法
先定义用于验证的字符串;再定义正则表达式的规则;后验证字符串是否符合正则表达式的规则
eg: /表达式规则/.test (所有内容的字符串)
结果:完全相同返回 true [注:必要是匹配和位置无关]
² 直接字符
[ ] 表示字符集合。只要其中任意一个匹配,则返回true 数字: [0-9] 字母: [a-zA-Z]
^ 表示反向集合 \d : [0-9] -> 匹配单个数字
? 表示匹配前面一个字符0次或者1次,和{0,1}有相同的效果。
+ 表示匹配前面一个字符1次或者多次,和{1,}有相同的效果。
* 表示匹配前一个字符0次或者是多次。
² 重复规则 –
{n,m} - 匹配前面的字符最少出现n次,最多出现m次;即n <= 次数 <= m
{n} - 匹配前面的字符出现 n 次
² 位置规则
^:表示字符的开始位置; $:表示字符的结束位置
eg: / [ ]{n,m} / ----【连续】出现【n到m次】
/ [数字和字母]{n,m} / ----只要字母和数字有其一即可
/ ^[数字和字母]{n,m} / ----以数字或字母【开头】,且连续出现n到m次
/ {n,m}$ / ---以数字或字母【结尾】,且连续出现n到m次
/ ^[ ]{n,m}$ / ----以数字或字母【结尾】【总共】个数是n到m
8 直接量字符
\t : 水平制表符 TAB键 \n 或 \r : 换行符或回车符 ENTER键
8 修饰符
i - 表示不区分大小写; g - 全局搜索; m - 多行搜索;
eg: var 名称 = /正则表达式/ i; var 名称 = new RegExp('[a-z]{3,5}', 'i' );
u 字符串使用正则表达式的方法
² 替换方法
replace(/被替换的内容/,被替换的内容 ) 被替换的内容---使用正则表达式
² 匹配内容—>数组
match(/需匹配的内容/)
返回值:是一个数组; 需匹配的内容---使用正则表达式
(注:若参数为字符串时,返回的数组只有一个元素)
² 查找内容—>位置
search(需查找的内容)
返回值:匹配内容的索引值 (注:如果没有任何内容匹配的话,返回 -1)
24、字符串
- 遍历字符串
方法:(类似数组) 使用for 或 for… in 结果:得到字符串中的每个字符
- 查找字符
² charAt(索引值)
注: 超出索引值范围时,则返回空字符
² charCodeAt(索引值)
注:返回值:指定索引值对应的字符的Unicode编码值 [a-97; z-122; 0-48; 9-59;]
- 检索字符串
indexOf(检索的字符串)
- 截取字符串
² slice(start, end)
start:开始截取的位置(被包含); end:结束截取的位置【不被包含】
正数:从左向右排列(从 0 开始) 负数:从右向左排列(从 -1开始)
² substr(位置,个数)
若不设置个数,则默认为截取到最后
² substring(start, end)
start:开始截取的位置(被包含) end:结束截取的位置【不被包含】
- Ø 分隔字符串
split( )
作用:将一个使用分隔符分隔的字符串转换为一个数组
参数:分隔符; 返回值:数组
总:原有基础上 不做处理,则空格也有分隔符;且所有元素组成一个数组
原有什么,再给什么,从而分隔符就是什么;且所有元素组成一个数组
JavaScript基础知识(正则表达式、字符串)的更多相关文章
- JavaScript基础知识-正则表达式
正则表达式 作用:定义一个特定的验证字符串内容规则的表达式 注:正则表达式并不是JavaScript独有的:JavaScript支持正则表达式 var a = { }; // 定义一个空对象 ...
- JavaScript基础知识(字符串的方法)
字符串的方法 1.字符串: 在js中被单引号或双引号包起来的内容都是字符串: var t = "true"; console.log(typeof t);// "stri ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- JavaScript基础知识整理
只整理基础知识中关键技术,旨在系统性的学习和备忘. 1.在 JScript 中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN ...
- JavaScript基础知识笔记
做前端几年了,一直疏于整理归纳,所以这两天把基础看了一遍,加上使用经验,整理了基础知识中关键技术,旨在系统性的学习和备忘.如果发现错误,请留言提示,谢谢! 重要说明:本文只列举基础知识点,中级和高级内 ...
- (转)JAVA AJAX教程第二章-JAVASCRIPT基础知识
开篇:JAVASCRIPT是AJAX技术中不可或缺的一部分,所以想学好AJAX以及现在流行的AJAX框架,学好JAVASCRIPT是最重要的.这章我给大家整理了一些JAVASCRIPT的基础知识.常用 ...
- JavaScript基础知识(一)
一.JavaScript基础 1.JavaScript用法: HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 ...
随机推荐
- java类中获取ServletContext的方法
起因是我想要获取一个相对路径,需要用到servletContext的getRealPath()方法,于是上网搜索,找到两种方法来获取ServletContext. 方法1:第一种方法是这样的: Ser ...
- Highway LSTM 学习笔记
Highway LSTM 学习笔记 zoerywzhou@gmail.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2016-4-5 声明 1)该Dee ...
- IntelliJ IDEA 环境常用设置整理
1.修改为Eclipse快捷键 File -> Settings -> Keymap => Keymaps改为 Eclipse copy 2.显示行号: File -> S ...
- Redis命令与配置
命令 开启服务端 redis-server.exe redis.conf 客户端连接 redis-cli.exe -h 127.0.0.1 -p 6379 1.连接操作相关的命令 quit:关闭连接( ...
- 【ANT】一个简单的ANT生成文件build.xml
<?xml version="1.0" ?> <project default="test"> <target name=&quo ...
- 每周.NET前沿技术文章摘要(2017-05-17)
汇总国外.NET社区相关文章,覆盖.NET ,ASP.NET等内容: .NET .NET Framework 4.7正式发布 链接: http://www.infoq.com/cn/news/2017 ...
- SpringMVC 返回json的两种方式
前后台数据交互使用json是一种很重要的方式.本文主要探讨SpringMVC框架使用json传输的技术. 请注意,本文所提到的项目使用Spring 版本是4.1.7,其他版本在具体使用上可能有不一样的 ...
- 使用Libmicrohttpd搭建内嵌(本地)服务器
Libmicrohttpd简介 GNU Libmicrohttpd是一个用来在项目中内嵌http服务器的C语言库,它具有以下几个非常鲜明的特点: C语言库,小而快. API非常简单,且都是可重入的. ...
- Java之线程安全中的三种同步方式
一个程序在运行起来时,会转换为进程,通常含有多个线程. 通常情况下,一个进程中的比较耗时的操作(如长循环.文件上传下载.网络资源获取等),往往会采用多线程来解决. 比如,现实生活中,银行取钱问题.火车 ...
- tensorflow ckpt文件转caffemodel时遇到的坑
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px ".PingFang SC"; color: #454545 } p.p2 ...