java或者正则表达式如何判断字符串不是相同数字或者字母?不能全是连续数字?(最好是java)
1.不能全是相同的数字或者字母(如:000000、111111、222222、333333等等)2.不能是连续数字(如:123456、12345678、87654321等...
1.不能全是相同的数字或者字母(如:000000、111111、222222、333333等等)
2.不能是连续数字(如:123456、12345678、87654321等等) 展开
2.不能是连续数字(如:123456、12345678、87654321等等) 展开
3个回答
展开全部
判断是否全同的数字字母可以用正则,连续数字这个正则就不是很擅长了。
不会java,以下是用js做的第一个正则,你可以把正则拿出来到java里用。
^([0-9a-zA-Z])\1+$ 这个对于一个字母是认为不全同的,如果你要把一个字母也认为全同则用
^([0-9a-zA-Z])\1*$
<html>
<head>
<!--
保存为 html 文件,浏览器允许运行脚本进行测试。
-->
<script type="text/javascript">
function check()
{
var str;
str = document.getElementById("txtInput").value;
if (str.match(/^([0-9a-zA-Z])\1*$/) != null)
{
alert("全部相同的数字或字母");
}
else
{
alert("不全相同");
}
}
</script>
</head>
<body>
输入:<input type="text" id="txtInput" value="00000" />
<button type="button" onclick="check()">正则检查</button>
</form>
</body>
</html>
展开全部
用java做 简单,代码如下:
public class Test {
private static String s = "ABC";
private static String str = "876";
private static boolean isSameCharacter(String s){
//如果不区分大小写,可以添加下面这句
//s = s.toUpperCase();或者 s = s.toLowerCase();
String character = s.substring(0,1);
String replace = "";
String test = s.replace(character, replace);
if("".equals(test))
return true;
return false;
}
private static boolean isContinuityCharacter(String s){
boolean continuity = true;
char[] data = s.toCharArray();
for(int i=0; i<data.length-1; i++){
int a = Integer.parseInt(data[i]+"");
int b = Integer.parseInt(data[i+1]+"");
continuity = continuity && (a+1 == b || a-1 == b);
}
return continuity;
}
public static void main(String[] argv){
System.err.println(isSameCharacter(s));
System.err.println(isContinuityCharacter(str));
}
}
public class Test {
private static String s = "ABC";
private static String str = "876";
private static boolean isSameCharacter(String s){
//如果不区分大小写,可以添加下面这句
//s = s.toUpperCase();或者 s = s.toLowerCase();
String character = s.substring(0,1);
String replace = "";
String test = s.replace(character, replace);
if("".equals(test))
return true;
return false;
}
private static boolean isContinuityCharacter(String s){
boolean continuity = true;
char[] data = s.toCharArray();
for(int i=0; i<data.length-1; i++){
int a = Integer.parseInt(data[i]+"");
int b = Integer.parseInt(data[i+1]+"");
continuity = continuity && (a+1 == b || a-1 == b);
}
return continuity;
}
public static void main(String[] argv){
System.err.println(isSameCharacter(s));
System.err.println(isContinuityCharacter(str));
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正则不是万能的,你这个应该是用正则加程序来实现
首先判断是否是数字可以用 "\d+" 这个正则表达式来判断
其次,再用for循环来判断是相同,还是连续
首先判断是否是数字可以用 "\d+" 这个正则表达式来判断
其次,再用for循环来判断是相同,还是连续
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询