Java杂谈之正则表达式--日期,邮箱,数字验证
来源:互联网 发布:数据库limit的用法 编辑:程序博客网 时间:2024/06/11 18:17
当我们判断数据的格式是否符合规范的时候,一般会采用两种方式:
一种是if...else不断的嵌套或者if...else并排判断的方式
(这两者代表以条件正确为前提还是以条件错误为前提的)
另一种就是正则表示式。
字符串匹配给正则表达式:boolean matches(Stirng regex)
用法:String.matches(regex)
当然可以说if...else是万能的,正则表达式是有局限的,不能过分依赖,它只是解决问
题的一种手段而已,并不是必要的。
但往往用正确的使用正则表达式能让程序简洁,事半功倍。虽然有一些难懂,但只要熟悉
记住了常用的正则表达式还是很有必要的。
以下是代码示例,分别对日期,邮箱,数字进行简易的验证
(当然可能存在错误和思维漏洞,请大家辩证地去看,这边只是简易的而已,大神可以略
过的)
判断日期:
package JavaTestString;import java.util.Scanner;//正则表达式//求YYYY/MM/DD的正则表达式//\d{4}\d{2}/\d{2}public class JavaRegex {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String input = scan.next();//正则表达式格式验证if(!input.matches("\\d{4}/\\d{2}/\\d{2}")){System.out.println(input + "不满足'YYYY/MM/DD'的格式");}}}
判断邮箱格式:
package JavaTestString;import java.util.Scanner;//利用正则表达式判断邮箱是否符合规范public class JavaCheckEmailByRegex {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String email = scan.next();if(email.matches("\\w{3,}@\\w{1,}\\.(com|cn|net)")){System.out.println(email + "是正确的邮箱形式");}else {System.out.println(email + "不是正确的邮箱形式");}}}
判断是否为数字:
package JavaTestString;import java.util.Scanner;//判断一个数是否为数字//正负号有且只有一个,并放在首位//正负号后面紧跟数字//小数点只能在数字后面,且不能在最后,最多只能有一个public class JavaCheckNumberByRegex {public static void main(String[] args) {//[+|-]?\d+\.?\d+Scanner scan = new Scanner(System.in);String input = scan.next();String mathes = null;if(input.indexOf(".")>=0){mathes="[+-]?\\d+\\.?\\d+";}else{mathes = "[+-]?\\d+";}if(input.matches(mathes)){System.out.println(input + "是数字");}else{System.out.println(input + "不是数字");}}}
0 0
- Java杂谈之正则表达式--日期,邮箱,数字验证
- java正则表达式验证IP,日期和邮箱格式有效性
- 正则表达式之邮箱验证
- java 正则表达式 验证邮箱
- java 正则表达式 验证邮箱
- JAVA 邮箱验证正则表达式
- 正则表达式 验证 电话,手机,邮箱,数字
- javascipt正则表达式 验证邮箱与数字
- C#正则表达式可验证邮箱,电话,手机,数字,英文,日期,身份证,邮编,网址,IP
- 菜鸟看java之正则表达式练习:验证邮箱。
- 正则表达式之数字验证
- 验证数字,日期,邮件地址的正则表达式
- JAVA正则表达式数字验证
- java关于正则表达式验证邮箱
- java正则表达式验证手机号码ip,邮箱
- java正则表达式验证IP,邮箱类
- java正则表达式验证手机号码ip,邮箱
- java正则表达式验证手机号码ip,邮箱
- 高通Android平台硬件调试之Camera篇
- HDOJ 题目1176 免费馅饼(动态规划)
- Codeforces Round #259 (Div. 2) C. Little Pony and Expected Maximum (找规律)
- ZOJ-1259
- 随机
- Java杂谈之正则表达式--日期,邮箱,数字验证
- POJ1861&ZOJ1542--Network【最小生成树】
- HDU_4515 小Q系列故事——世界上最遥远的距离
- SPOOL sql语句实现LOOP循环转储多文件
- Ajax+jquery+jaso传输数据
- 快速排序的非递归实现
- hdu 2099 整除的尾数(水题)
- 【Codeforeces】【#259】【Div.2】
- actionbar强制显示overflow menu