mirror of
https://github.com/minoplhy/chhoto-url.git
synced 2025-04-09 03:58:00 +00:00
31 lines
819 B
Java
31 lines
819 B
Java
package tk.draganczuk.url;
|
|
|
|
import java.util.Random;
|
|
import java.util.regex.Pattern;
|
|
|
|
public class Utils {
|
|
private static final Random random = new Random(System.currentTimeMillis());
|
|
|
|
private static final String SHORT_URL_PATTERN = "[a-z0-9_-]+";
|
|
private static final Pattern PATTERN = Pattern.compile(SHORT_URL_PATTERN);
|
|
|
|
public static String randomString() {
|
|
int leftLimit = 48; // numeral '0'
|
|
int rightLimit = 122; // letter 'z'
|
|
int targetStringLength = 10;
|
|
|
|
return random.ints(leftLimit, rightLimit + 1)
|
|
.filter(i -> (i <= 57 || i >= 97))
|
|
.limit(targetStringLength)
|
|
.collect(StringBuilder::new,
|
|
StringBuilder::appendCodePoint,
|
|
StringBuilder::append)
|
|
.toString();
|
|
}
|
|
|
|
public static boolean validate(String shortUrl) {
|
|
return PATTERN.matcher(shortUrl)
|
|
.matches();
|
|
}
|
|
}
|