javascript中利用正则表达式字符串怎样去掉汉字?比如: var str = 'I come

JavaScript030

javascript中利用正则表达式字符串怎样去掉汉字?比如: var str = 'I come,第1张

var str = 'I come from Italy, but I like 中国'

var reg = /[\u4e00-\u9fa5]/g

str = str.replace(reg, "")

split() 方法用于把一个字符串分割成字符串数组。

语法

stringObject.split(separator,howmany)

参数

separator    必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。  

howmany    可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括separator 自身。

如果想通过正则表达式,完成按引号中的逗号进行拆分,下面是代码,仅供参考:

var str = 'sdfs,dhf,skjdf","sdfsdfsdfsd","sdfe'

str.split(/\",\"/g)

----> ["sdfs,dhf,skjdf", "sdfsdfsdfsd", "sdfe"]

        正则表达式,又叫规则表达式,英文名Regular Expression,本质是操作字符串

         1、模式匹配    表单验证

         2、文本检索    搜索

         3、替换        过滤

         简单,方便,性能高

        var reg=new RegExp('规则','模式')  通过构造函数创造

        var reg=/规则/模式                通过字面量创建

       i  忽略大小写

       g  全局

       m  多行

       注:不分前后顺序

      str.match(正则)  返回数组 没有返回 null

      str.search(正则)  返回下标  没有返回-1

      str.replace(正则,替换成谁)  返回替换后的字符串

      str.replace(正则,function(s){

                       s 符合正则条件的字符串

       })

       \d  数字 /[0-9]/

       \s  空格

       \w  /[0-9a-zA-Z_]/ 单词

       \D  非数字  /[^0-9]/

       \S  非空白

       \W  非单词  /[^0-9a-zA-Z_]/

.(点)    代表任意

         \.  代表.

         \\  代表\

         \\\\  代表\\

          \/    代表/

          只要有特殊意义的都要转译

          +  {1,m}  若干个  最少1个最多不限

          ? {0,1}  可有可无

          *  {0,m}  可以没有,多了不限

          {n}  正好n个

         {n,m}  最少n个 最多m个

         {n,}  最少n个,最多不限

         {,m} × 没有这种写法

        ^  行首

         注:如果^单独使用,代表字符串行首,配合m使用会识别段落

        $  行尾

        [] 中括号

             1、[]里面的东西都是或的形式

             2、[]里面和放范围

             3、[^]  不代表行首,代表除去里面的范围

             4、其他特殊符号代表本身

         1、test()  一般配合^ &

               功能:用于检测是否于正则匹配。

               返回:布尔值,true匹配,false不匹配

               语法:reg.test(检测的内容)

          2 exec()

               功能:用于检测是否于正则匹配。

               返回:数组, 不匹配返回null

               语法:reg.test(检测的内容)

               再做验证之前:验证分两种,一种强校验,一种弱校验

            (1)验证手机号                                      /1[23457]\d{9}/

            (2)验证座机号      区号-座机号            /(0[1-9]\d-)?[1-9]\d{7}/

            (3)验证qq                                            /[1-9]\d{4,11}/

            (4)实现一个trim函数 去掉收尾空格      /^\s+|\s+$/g

            (5)中文                                                /[\u4e00-\u9fa5]/

            (6)验证年龄       18-100                       /^1[89]|[2-9]\d|100$/

            (7)邮箱:     asdsad@163.com           /^\w{5,12}@[a-z0-9]{2,8}\.com$/

            (8)  过滤html                                            /<[^>]+>/g

        1、分组    ab+ abbbb  (ab)+

        2、匹配子级

              配合replace使用  str.replace(reg,function(s,a,b){

               s是 整体

               a是第一个括号的项

               b是第二个括号的项

          })

        3、优选级  ^(1[89]|[2-9]\d|100)$

        4、重复的子项

              abbb          /(a)(b)\2+/

今天先给大家总结到这儿,后续还会有补充