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-正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

text 正则表达式片段

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

循环通过 python 正则表达式匹配

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

js 常用正则表达式表单验证代码