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-正则表达式
原文地址:https://www.cnblogs.com/nannanxiaogege/p/9974775.html