自己写的一个验证字符串的类
/**
Validate a String such that it meets the following rules:
4 Rules:
Rule1: the length of the string should be between 5 and 15(inclusive);
Rule2: at least a digit should be contained within the string;
Rule3: all the characters should be in lower case;
Rule4: there are no adjacent identical substrings, eg, banana123, violates rule4, because b[an][an]123, while b[an]c[an]123 is a valid one.
*/
public class StringValidation
{
public static void main(String[] args) {
String test1 = "bancanab2324";
String test2 = "bananab2324";
validateStr(test1);
validateStr(test2);
}
public static boolean validateStr(String aStr) {
if(aStr.length() < 5 && aStr.length() > 15) {//rule1
System.out.println(" The length is : " + aStr.length());
return false;
}
//Check if there is any digit in the string
char zero = '0';
char nine = '9';
boolean hasDigit = false;
for(int i = 0; i < aStr.length(); i++ ) {
if(aStr.charAt(i) >= zero && aStr.charAt(i) <= nine) {
hasDigit = true;
break;
}
}
if(!hasDigit) {//no digit in the string.
System.out.println("There are no digits contained in the string!");
return false;
}
//Rule3
if(!aStr.equals(aStr.toLowerCase())){
System.out.println("The characters in the string are not all in lower case!");
return false;
}
String subStr1 = null;
String subStr2 = null;
int span = 0;//the length of the substring.
//Rule4
for(int i = 0; i < aStr.length() - 1; i++){
//we don't have to traverse the rest of the string, because the substring's length won't surpass half of the rest string.
for(int j = i + 1; j <= i + (aStr.length() - i) / 2; j++ ) {
subStr1 = aStr.substring(i, j);
span = j - i;
subStr2 = aStr.substring(j, j + span);
System.out.println(subStr1 + " : " + subStr2);
if(subStr1.equals(subStr2)) {
System.out.println("There exist two identical adjacent substrings!");
return false;
}
}//inner for
}//outer for
return true;
}
}
分享到:
相关推荐
这个代码可以添加一个新的字符串到已有的字符串数组中,并确保不会重复添加相同的字符串。具体来说,它首先创建了一个包含3个字符串的字符串数组`strArray`,然后定义了一个新的字符串`newStr`。接着,使用`ismember...
js 实现 验证字符串是否全由数字组成! 值得下载看看!资源免费,大家分享!!
字符串、字符和正则表达式基本知识,讲述C#中的字符串常见属性和方法。
去掉重复的字符串及在第一个字符串中删除在第二个字符串中出现的字符两个程序,vs2013已经验证
本文实例讲述了C#实现将字符串转换成日期格式的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:string s = ... 您可能感兴趣的文章:C#中判断、验证字符串是否为日期格式的实现代码C# string
可以验证符合的json字符串格式是否正确 以对象的形式查看json对象
字符串对比验证工具.rar字符串对比验证工具.rar字符串对比验证工具.rar字符串对比验证工具.rar字符串对比验证工具.rar字符串对比验证工具.rar字符串对比验证工具.rar字符串对比验证工具.rar字符串对比验证工具.rar...
json数据交互时作为校验是否通过,用于后台需要构建json返回前台必备
此程序为VC6.0实现判断一个字符串是否为另一个字符串的子串
String 字符串操作工具类,sql防注入方法 过滤通过页面表单提交的字符 用特殊的字符连接字符串 将字符串数组转换为逗号链接的字符串,并且去掉最后一个逗号 分割字符串 字符串字符集转换 编码转换方法 将html文档...
正则表达式通常用于两种任务:1.验证,2.搜索/替换。用于验证时,通常需要在前后分别加上^和$,以匹配整个待验证字符串
jquery input字符串验证(手机号码验证、字母数字验证) 正则表达式验证
比如, 2001:0db8:85a3:0000:0000:8a2e:0370:7334 是一个有效的地址。而且,我们可以加入一些以 0 开头的数字,字母可以使用大写,也可以是小写。所以,2001:db8:85a3:0:0:8A2E:0370:7334 也是一个有效的 IPv6 ...
SQL_Server_连接字符串和身份验证.pdf学习数据库的入门最头痛的应该是数据库连接字符串的书写吧。
C#_数据库连接字符串集合(Sql_验证Windows_身份验证)
这是一个串口接收字符串并发送到串口助手的程序源码 希望对你有用
正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符串更加灵活方便。(3)用来替换,比普通的...
编写程序,验证一个字符串是否为回文串:是否从前读它和从后读它都是一样的。例如,mom,dad是回文串。该程序接收用户输入的字符串,判断是否为回文串,然后将判断的结果输出。在验证回文串时,忽略大小写、空格和...
具体来说,它首先创建了一个包含5个字符串的字符串数组`strArray`,然后使用`length()`函数计算每个字符串的长度,并将结果存储在向量`lengths`中。接着,使用`max()`函数找出最长的字符串长度,并将其存储在变量`...