正則表達式分別在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()方法即可!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM