当前位置:首页 » 编程语言 » java正则验证

java正则验证

发布时间: 2022-08-10 14:37:31

java 正则法则如有验证年份

目前仍没有人解决1、3、5、7、8、10、12月是31天的大月问题呀
(我本是1楼)如果用正则去验证“数值”,会很舍近求远,不是正则的强项。需要写很多的“向后断言”。效率会一般甚至很低。(目前我看到的上下楼的都是有漏洞的,没法检验闰月和大小月)
我所不取。

我一直用的这个:
static public boolean isValidDate(
int year, int mon, int day,
short year_min,short year_max,
StringBuffer msg)
{
if(year<year_min || year>year_max)
{
msg.append("年份必须在("+
year_min+"~"+year_max+
")之间,输入值("+year+")无效\n");
return false;
}else{//
switch(mon){
case 1:case 3:case 5:case 7:case 8:case 10:case 12:{
if(day<1 || day>31){
msg.append("日号必须在(1~31)之间,输入值("+day+")无效\n");
return false;
}
}break;
case 2:{
if(isLeapYear(year) && day>29){
msg.append("闰年的闰二月日号必须在(1~29)之间,"+year+"是闰年,输入值("+day+")无效\n");
return false; }else if(day>28){
msg.append("非闰年的闰二月的日号必须在(1~28)之间,"+year+"不是闰年,输入值("+day+")无效\n");
return false;
}
}break;
case 4:case 6:case 9:case 11:{
if(day<1 || day>30){
msg.append("日号必须在(1~30)之间,输入值("+day+")无效\n");
return false;
}

}break;
default:{
msg.append("月份必须在(1~12)之间,输入值("+mon+")无效\n");
return false;

}
}
}
return true;
}
static public boolean isLeapYear(int year){
return (year%4==0 && year%100!=0)|| year%400==0;
}
包好。

❷ java中的正则表达式问题 怎么验证密码必须由字母 数字或下划线开头,密码可以随便组合

正则表达式,最简单的写法就是:
\w+
表示匹配 字母 数字 下划线 对于字符个数,至少要1个

java的完整代码,就不给你写了。
因为之前给很多人,花了时间写了完整代码,结果
柏 渡 吗 壁 西 通 啦 机,直接就屏蔽了,导致无法发布内容了。

你自己去写完整代码吧。

❸ java 正则验证IP地址是不是合法的怎么写

String ip = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+"(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";

Pattern pattern = Pattern.compile(ip);
Matcher matcher = pattern.matcher("192.168.0.150");
matcher.matches();//验证结果返回ture或者false

❹ java中用正则表达式验证数字规律,求正则表达式

以下正则均验证11位数字,数字中不能有空格等其它字符,均按照java语法使用两个反斜杠转义

验证AA
^(?=.*(.)\\1)1[358][0-9]{9}$
验证AABB
^(?=.*(.)\\1(.)\\2)1[358][0-9]{9}$
验证ABC
^(?=.*(.)(?!\\1)(.)(?!\\2))1[358][0-9]{9}$
验证符合ABC,也符合 AA
^(?=.*(.)(?!\\1)(.)(?!\\2))(?=.*(.)\\3)1[358][0-9]{9}$
验证尾数为6
^1[358][0-9]{8}6$
验证尾数为8
^1[358][0-9]{8}8$
验证尾数不为4
^1[358][0-9]{8}[0-35-9]$

❺ 怎么用java判断一个字符串是正则表达式

我猜您问的问题应该是:怎么验证一个字符串是否符合正则表达式?
如果是这样的话,我举个例子:
String regex = "http://(([a-zA-z0-9]|-){1,}\\.){1,}[a-zA-z0-9]{1,}-*" ;
return match( regex ,str );
regex就是正则表达式,符合则返回true,不然则返回false。

❻ 我用Java的正则表达式验证日期,可是程序不正确,不知哪里错误,希望懂Java的帮忙指点迷津

packagep1;

importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileWriter;
importjava.io.IOException;
importjava.util.ArrayList;
importjava.util.NoSuchElementException;
importjava.util.Scanner;

publicclassFilterData
{
ArrayList<String>list=newArrayList<String>();
privatestaticScannerinput;
privateStringpatternString="^\d{4}\-\d{2}\-\d{2}$";
Stringtemp;

publicvoidreadData(StringfileName)
{
try
{
input=newScanner(newFile(fileName));
}
catch(FileNotFoundExceptione)
{
e.printStackTrace();
}
try
{
while(input.hasNextLine())
{
temp=input.nextLine().trim();
if(temp.matches(patternString))
{
list.add(temp);
}
}
}
catch(NoSuchElementExceptione)
{
e.printStackTrace();
}
catch(IllegalStateExceptione)
{
e.printStackTrace();
}
}

publicvoidprintData(StringfileName)
{
try
{
FileWriterfileWriter=newFileWriter(fileName);
fileWriter.write(list.toString());
fileWriter.flush();
fileWriter.close();
}
catch(IOExceptione)
{
e.printStackTrace();
}
}

publicstaticvoidmain(String[]args)
{
FilterDatafilterData=newFilterData();
filterData.readData("text.txt");
filterData.printData("text1.txt");
System.out.println(filterData.list);
}
}

❼ 在java后台,用正则表达式验证身份证

这个是正则表达式,给你段代码,你自己琢磨吧!

//正则表达式 校验是否存在非法字符
private String checkPattern(String str){
String len;
String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
len=m.replaceAll("").trim();
return len;
}

❽ java 正则匹配字符是否为纯数字

java 正则匹配字符为纯数字方法:

定义正则表达式为:

Stringreg="^\d+$"

获取要判断的字符串:

Stringstr;//可以通过Scanner从控制台输入,也可以用字符串常量进行初始化

调用字符串的matches方法判断字符串为纯数字情况:

str.matches(reg);

如果是纯数字返回为true,否则返回为false;

❾ java中验证是否为正整数的正则表达式

非零正整数
public static boolean IsIntNumber(String str) {
String regex = "^\\+?[1-9][0-9]*$";
return match(regex, str);
}

热点内容
华为honor6a如何重置密码 发布:2025-01-21 05:37:30 浏览:987
黑客编程意思 发布:2025-01-21 05:34:34 浏览:18
数据库服务器远程 发布:2025-01-21 05:34:34 浏览:700
ftp断点续传工具 发布:2025-01-21 05:13:42 浏览:990
哈弗h9买哪个配置划算 发布:2025-01-21 05:01:19 浏览:641
微信视频如何重新缓存 发布:2025-01-21 04:44:41 浏览:880
pdf压缩文件大小 发布:2025-01-21 04:40:24 浏览:799
linux解压文件到指定 发布:2025-01-21 04:38:36 浏览:875
自己做的安卓app怎么下载 发布:2025-01-21 04:35:07 浏览:164
机顶盒加密频道 发布:2025-01-21 04:26:48 浏览:318