① java :從控制台輸入一個字元串,驗證是不是郵箱
自定了一個合法郵箱規則,希望能幫助理解。代碼如下:import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("請輸入一個郵箱地址:");String mail = sc.nextLine();/* 設定郵箱地址的合法規則,合法郵箱地址要求如下: (1)字元必須是英文或數字開始 (2)必須包含一個@ (3)@符號在. 符號前面 (4)以英文或數字結尾 */ //設置一個正則表達式 String reg = "[\w]+@[\w]+.[\w]+"; //告知此字元串是否匹配給定的正則表達式。if(mail.matches(reg)) {System.out.println("郵箱地址合法!");}else {System.out.println("郵箱地址不合法!");}}}這里主要是採用正則表達式的方式。
關於正則表達式,查看Pattern類和Matcher類。樓主可以可以到網上查看下相關資料。解釋下上面的正則表達式String reg = "[\w]+@[\w]+.[\w]+";w 表示單詞字元:[a-zA-Z_0-9],上面是兩個反斜桿是因為反斜桿是轉義字元 +號表示:出現一次或多次 ,所以[\w]+意思就是一到多個單詞字元(英文或數字)@ :直接表示@字元.:表示點字元綜上所述。String reg = "[\w]+@[\w]+.[\w]+";的意思就是 :一到多個字元 + @ + 一到多個字元 + 點 + 一到多個字元。正則表達式使用的好。
合法E-mail地址: 1. 必須包含一個並且只有一個符號「@」 2. 第一個字元不得是「@」或者「.」 3. 不允許出現「@.」或者.@ 4. 結尾不得是字元「@」或者「.」 5. 允許「@」前的字元中出現「+」 6. 不允許「+」在最前面,或者「+@」
② java怎麼檢驗字元串是否全為純中文
Java判斷一個字元串是否有中文一般情況是利用Unicode編碼(CJK統一漢字的編碼區間:0x4e00–0x9fbb)的正則來做判斷,但是其實這個區間來判斷中文不是非常...
③ Java用於校驗一個字元串是否是合法的JSON格式
ScriptEngineManager sem = new ScriptEngineManager();ScriptEngine se = sem.getEngineByName("js");String jsonstr = " \r\n [{}]";try { if (!jsonstr.matches("^[\r\n\f\t\\x20]*[\\{\\[][\\s\\S]*")) { throw new ScriptException("必拍亮須以{或[開頭"); } se.eval("(" + jsonstr + ")"纖遲); System.out.println("是json格式襲豎寬");} catch (ScriptException e) { String exp = e.toString().replaceAll(".*\\:(.*)", "$1"); System.err.println(exp.replaceAll("\\(.+(?=at)", ""));}
④ java 校驗字元串是不是日期格式
可以通過正則表達式控制,或者用字元串截取,前4位為年份,是否符合,再截取後面兩位是否小於12,再截取最後兩位是否小於31,以日期之間的「-」截取,不過這樣判斷大月小月的日期可能會復雜點,個人認為還是正則表達式更簡單。
⑤ java中驗證字元串是不是數字的四種方法
判斷字元串是不是數字,大家可能會用一些java自帶的方法,也有可能用其他怪異的招式,比如判斷是不是整型數字,將字元串強制轉換成整型,不是數字的就會拋出錯誤,那麼就不是整型的了。但本文介紹的比較好的兩種方法:
1。java類庫自帶的方法:
public boolean isNum(String msg){
if(java.lang.Character.isDigit(msg.charAt(0))){
return true;}return false;}0202更新:發現以上方法寫得不夠到位,現在就改為下面的簡單說明了,至於具體的方法實現字元串判斷是否數字就不寫了。
java.lang.Character.isDigit(char ch) boolean
isDigit 只能作用於char,所以判斷字元串是否為數字,要一個一個拿出char進行判斷。
2。用正則表達式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
這兩個包,接下來是代碼
public boolean isNumeric(String str){Pattern pattern = Pattern.compile(」[0-9]*」);
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){return false;}return true;}02
3。用正則表達式