正则表达式分别在java中和在js中如何使用的

应业务需要,可能需要对字符串进行各种比较或者分割等等操作,如果使用传统代码去完成上述功能,那工作量将是相当的庞大,所以在jdk1.4之后就出现了正则表达式。

1,在java中正则表达式的使用

  a)匹配字符串;

public static void main(String[] args) {
String qq
= "123a45664"; String regex = "[1-9]\\d{4,14}"; boolean flag = qq.matches(regex); if(flag){ System.out.println(qq+"...is ok"); } else{ System.out.println(qq+"... 不合法"); }

//匹配电话号码

      String tel="14275624713";

      String telreg="1[3,5,8][0-9]{3,11}";
      System.out.println(tel.matches(telreg));



}

  b)分割

public static void main(String[] args) {
        
        String str="aqwe axcvafg hjaolm";
        
        String strReg=" ";
        
        String []arr=str.split(strReg);
        for (String string : arr) {
            System.out.println(string);
        }
    }

其中split()方法还有重载的方法

public static void main(String[] args) {
        
        String str="aqweaxcvafghjaolm";
        
        String strReg="a";
        
        String []arr=str.split(strReg,7);
        for (String string : arr) {
            System.out.println(string);
        }
    }

上述代码输出结果为:

qwe
xcv
fghj
olm

如果将7改为2,则输出结果为:

qweaxcvafghjaolm

 
如果将7改为5,则输出结果为:

qwe
xcv
fghj
olm

由此可以得知,上述重载的split的第二个参数表示的意思是将原字符串分割为几段,从一开始分开始,但是最多能分的段数为实际情况的段数,若超过则按照实际情况的来  

  c)替代

public static void main(String[] args) {
        
        String str="aqweaxdvafghjaolm";
        
        String strReg="a";
        
        String str1=str.replaceAll(strReg, "c");
        System.out.println(str1);
    }

上述代码是将a都替换成c,其实替换是可以和正则结合在一起使用的如下代码

public static void main(String[] args) {
        
        String str="aqwea41256ghjaolm";
        
        String strReg="[0-9]";
        
        String str1=str.replaceAll(strReg, "c");
        System.out.println(str1);
    }

上述代码表示将字符串中的所有数字都替换成c

  d)获取

从已存在的字符串中获取符合一定规则的子字符串

public static void main(String[] args) {
        
        String str = "yin yu shi wo zui cai de yu yan";
        System.out.println(str);
        String reg = "\\b[a-z]{3}\\b";//匹配只有三个字母的单词

        //将规则封装成对象。
        Pattern p = Pattern.compile(reg);

        //让正则对象和要作用的字符串相关联。获取匹配器对象。
        Matcher m  = p.matcher(str);

       
        
        while(m.find())
        {
            System.out.println(m.group());
            System.out.println(m.start()+"...."+m.end());
                // start()  字符的开始下标(包含)
                //end()  字符的结束下标(不包含)
        }
    }

 

2 在js中

我们都知道,在注册功能时,需要填入很多的信息,那么对那些填入的信息进行判断就需要很多的工作了。下面就介绍正则在js中是如何使用的

  对移动电话号码进行判断:

    首先需要获得该文本框内用户输入的移动电话号码的值,

    然后在进行比较。具体代码如下:

    

function telTag{
        var tel =$("tel").val();
        var telReg="/^1[3,5,8][0-9]{3-11}$/";
       alert(telReg.test(tel));

}

  对其他数据的判断也是一样,先获取到值,然后写出正确的正则表达式(网上有很多写好了的),在直接调用test()方法即可!

posted @ 2018-04-24 14:16  性感的小辣椒  阅读(1641)  评论(0编辑  收藏  举报