android正则判断两个符号之间,Android字母、数字、字符任意两种组合正则验证
釋放雙眼,帶上耳機,聽聽看~!
最近朋友有個用戶名驗證,要求字母、數字、字符任意兩種組合即可,讓我幫寫個正則驗證,現在正則驗證如下:
/**
* 判斷是否匹配正則
*
* @param regex 正則表達式
* @param input 要匹配的字符串
* @return {@code true}: 匹配
{@code false}: 不匹配
*/
public static boolean isMatch(final String regex, final CharSequence input) {
return input != null && input.length() > 0 && Pattern.matches(regex, input);
}
public static boolean isTest(CharSequence input) {
String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)[A-Za-z0-9\W]{1,}$";
// Pattern compile = Pattern.compile(regex);
// Matcher matcher = compile.matcher(input.toString());
// return matcher.find();
return isMatch(regex, input);
}
測試
Log.i("@@@", "abc12/.,===" + RegexUtils.isTest("abc12/.,"));
Log.i("@@@", "abc12===" + RegexUtils.isTest("abc12"));
Log.i("@@@", "abc.,/===" + RegexUtils.isTest("abc.,/"));
Log.i("@@@", "123.,/===" + RegexUtils.isTest("123.,/"));
Log.i("@@@", "123.,asdasd/===" + RegexUtils.isTest("123.,asdasd/"));
Log.i("@@@", ",./123.,asdasd/===" + RegexUtils.isTest("123.,asdasd/"));
Log.i("@@@", "asdas,./123===" + RegexUtils.isTest("sdas,./123"));
Log.i("@@@", "1234adsfa===" + RegexUtils.isTest("1234adsfa"));
Log.i("@@@", "。,123,,sfdwe][0989//.';';[===" + RegexUtils.isTest("。,123,,sfdwe][0989//.';';["));
Log.i("@@@", "abc===" + RegexUtils.isTest("abc"));
輸出結果如下:
@@@: abc12/.,===true
@@@: abc12===true
@@@: abc.,/===true
@@@: 123.,/===true
@@@: 123.,asdasd/===true
@@@: ,./123.,asdasd/===true
@@@: asdas,./123===true
@@@: 1234adsfa===true
@@@: 。,123,,sfdwe][0989//.';';[===true
@@@: abc===false
正則說明
String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)[A-Za-z0-9\W]{1,}$";
^ 匹配一行的開頭位置
(?![0-9]+$) 預測該位置后面不全是數字
(?![a-zA-Z]+$) 預測該位置后面不全是字母
[A-Za-z0-9\W]{1,} 由1位數字、字母、符號中任意兩種組成
$ 匹配行結尾位置
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的android正则判断两个符号之间,Android字母、数字、字符任意两种组合正则验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之Notification
- 下一篇: android 生成长截图,【UNIAP