js-正则表达式
Posted nannanxiaogege
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js-正则表达式相关的知识,希望对你有一定的参考价值。
js-正则表达式
什么是正则表达式
正则表达式:描述字符模式的对象
正则表达式主要用来验证客户端的输入数据。
可以节约大量的服务器端系统资源,提供更好的用户体验
语法
/正则表达式主体/修饰符(可选)
创建
var box = new RegExp(\'box\'); 第一个参数字符串
var box = new RegExp(\'box\', \'ig\'); 第二个参数可选模式修饰符
var box=// 语法中的方法
模式修饰符
i 忽略大小写
g 全局匹配
m 多行匹配
对象的方法
test() 在字符串中测试模式匹配,返回true或者false
exec() 在字符串中执行搜索匹配,如果搜索到返回一个数组,如果没有找到返回一个null
其他对象方法
字符串操作方法
<script type="text/javascript"> var str="mynameisSHJKGiangren"; var num=100.2251000 console.log(str.substring(2)) //substring(m)截取子串,返回的是从索引m位置开始到末尾,包括索引m位置上的值 console.log(str.substr(2)) // 同上 //toFixed(m) //保留m位小数,四舍五入 console.log(num.toFixed(2)) console.log(num.toExponential()) //指数形式 console.log(num.toPrecision(3)) //保留三位数 //slice() console.log(str.slice(2)) //从索引位置2开始到字符串末尾 console.log(str.slice(2,3)) //从索引位置2开始截取到索引位置3,不包括索引位置3 //charAt() 返回指定索引位置上的值,指定索引超过字符串长度,返回空 console.log(str.charAt(2)) //concat() 字符串拼接 console.log(str.concat("我是讲前端的")) console.log("我是讲前端的".concat(str)) //indexOf() //重要的很 //返回指定子串的索引开始位置 //如果子串不存在,返回-1 //如果后面跟上参数m,从索引位置m开始向后查找 console.log(str.indexOf("l",9)) //lastIndexOf() //从后往前查 console.log(str.lastIndexOf(\'l\')) console.log(str.toUpperCase()) //转成大写字母 console.log(str.toLowerCase()) //转成小写 //match() //返回一个匹配到子串,如果匹配不到返回null //search() //返回搜索到子串的索引位置,如果搜索不到返回-1 //replace(查找的子串,替换的新内容) //替换 //split() 按照指定字符切割字符串位数组 console.log(str.match("M")) console.log(str.search("M")) console.log(str.replace(\'M\',"我")) console.log(str.split("-")) //面试题 var str2="abcd" console.log(str2.split("").reverse().join("")) //split() 按照指定字符切割字符串位数组 //join() 按照指定字符重组字符串位数组 </script>
正则主体
. 匹配除换行符以外所有的,(不建议,很危险)
\\d 匹配所有的数字 等价于[0-9]
\\D 匹配非数字 等价于[^0-9] ^托字符
[0-9] 匹配所有的数字
\\w 匹配所有字母数字及_ [a-zA-Z0-9_]
\\W 匹配非字母数字及_ [^a-zA-Z0-9_]
^ 托字符比较特殊
[^0-9] 托字符在中括号内部 非
^[0-9] 托字符作用是:行首匹配
$ 行尾匹配
统称量词
+ 至少匹配一个
? 匹配0个或者1个
* 匹配0个或者任意多个
[] 范围
(xyz) 将xyz作为一个整体去匹配
{m,n} 最少匹配m个最多n个
换行符 \\n
\\ 代表转义
以上是关于js-正则表达式的主要内容,如果未能解决你的问题,请参考以下文章
正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性