2026-07-06 19:54:44 +08:00

850 lines
20 KiB
Smali

.class public final Lcom/blankj/utilcode/util/RegexUtils;
.super Ljava/lang/Object;
.source "RegexUtils.java"
# static fields
.field private static final CITY_MAP:Landroidx/collection/SimpleArrayMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/collection/SimpleArrayMap<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 23
new-instance v0, Landroidx/collection/SimpleArrayMap;
invoke-direct {v0}, Landroidx/collection/SimpleArrayMap;-><init>()V
sput-object v0, Lcom/blankj/utilcode/util/RegexUtils;->CITY_MAP:Landroidx/collection/SimpleArrayMap;
return-void
.end method
.method private constructor <init>()V
.locals 2
.line 25
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 26
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "u can\'t instantiate me..."
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static getMatches(Ljava/lang/String;Ljava/lang/CharSequence;)Ljava/util/List;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/CharSequence;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
if-nez p1, :cond_0
.line 258
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p0
return-object p0
.line 259
:cond_0
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 260
invoke-static {p0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object p0
.line 261
invoke-virtual {p0, p1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object p0
.line 262
:goto_0
invoke-virtual {p0}, Ljava/util/regex/Matcher;->find()Z
move-result p1
if-eqz p1, :cond_1
.line 263
invoke-virtual {p0}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object p1
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_1
return-object v0
.end method
.method public static getReplaceAll(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 0
if-nez p0, :cond_0
const-string p0, ""
return-object p0
.line 313
:cond_0
invoke-static {p1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object p1
invoke-virtual {p1, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object p0
invoke-virtual {p0, p2}, Ljava/util/regex/Matcher;->replaceAll(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getReplaceFirst(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 0
if-nez p0, :cond_0
const-string p0, ""
return-object p0
.line 295
:cond_0
invoke-static {p1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object p1
invoke-virtual {p1, p0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object p0
invoke-virtual {p0, p2}, Ljava/util/regex/Matcher;->replaceFirst(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getSplits(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
.locals 0
if-nez p0, :cond_0
const/4 p0, 0x0
new-array p0, p0, [Ljava/lang/String;
return-object p0
.line 277
:cond_0
invoke-virtual {p0, p1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static isDate(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$"
.line 226
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static isEmail(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"
.line 183
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static isIDCard15(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$"
.line 96
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static isIDCard18(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9Xx])$"
.line 106
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static isIDCard18Exact(Ljava/lang/CharSequence;)Z
.locals 9
.line 116
invoke-static {p0}, Lcom/blankj/utilcode/util/RegexUtils;->isIDCard18(Ljava/lang/CharSequence;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_2
const/16 v0, 0x11
new-array v2, v0, [I
.line 117
fill-array-data v2, :array_0
const/16 v3, 0xb
new-array v4, v3, [C
.line 118
fill-array-data v4, :array_1
.line 119
sget-object v5, Lcom/blankj/utilcode/util/RegexUtils;->CITY_MAP:Landroidx/collection/SimpleArrayMap;
invoke-virtual {v5}, Landroidx/collection/SimpleArrayMap;->isEmpty()Z
move-result v6
if-eqz v6, :cond_0
const-string v6, "11"
const-string v7, "\u5317\u4eac"
.line 120
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "12"
const-string v7, "\u5929\u6d25"
.line 121
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "13"
const-string v7, "\u6cb3\u5317"
.line 122
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "14"
const-string v7, "\u5c71\u897f"
.line 123
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "15"
const-string v7, "\u5185\u8499\u53e4"
.line 124
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "21"
const-string v7, "\u8fbd\u5b81"
.line 126
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "22"
const-string v7, "\u5409\u6797"
.line 127
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "23"
const-string v7, "\u9ed1\u9f99\u6c5f"
.line 128
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "31"
const-string v7, "\u4e0a\u6d77"
.line 130
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "32"
const-string v7, "\u6c5f\u82cf"
.line 131
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "33"
const-string v7, "\u6d59\u6c5f"
.line 132
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "34"
const-string v7, "\u5b89\u5fbd"
.line 133
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "35"
const-string v7, "\u798f\u5efa"
.line 134
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "36"
const-string v7, "\u6c5f\u897f"
.line 135
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "37"
const-string v7, "\u5c71\u4e1c"
.line 136
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "41"
const-string v7, "\u6cb3\u5357"
.line 138
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "42"
const-string v7, "\u6e56\u5317"
.line 139
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "43"
const-string v7, "\u6e56\u5357"
.line 140
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "44"
const-string v7, "\u5e7f\u4e1c"
.line 141
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "45"
const-string v7, "\u5e7f\u897f"
.line 142
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "46"
const-string v7, "\u6d77\u5357"
.line 143
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "50"
const-string v7, "\u91cd\u5e86"
.line 145
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "51"
const-string v7, "\u56db\u5ddd"
.line 146
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "52"
const-string v7, "\u8d35\u5dde"
.line 147
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "53"
const-string v7, "\u4e91\u5357"
.line 148
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "54"
const-string v7, "\u897f\u85cf"
.line 149
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "61"
const-string v7, "\u9655\u897f"
.line 151
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "62"
const-string v7, "\u7518\u8083"
.line 152
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "63"
const-string v7, "\u9752\u6d77"
.line 153
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "64"
const-string v7, "\u5b81\u590f"
.line 154
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "65"
const-string v7, "\u65b0\u7586"
.line 155
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "71"
const-string v7, "\u53f0\u6e7e\u8001"
.line 157
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "81"
const-string v7, "\u9999\u6e2f"
.line 158
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "82"
const-string v7, "\u6fb3\u95e8"
.line 159
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "83"
const-string v7, "\u53f0\u6e7e\u65b0"
.line 160
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v6, "91"
const-string v7, "\u56fd\u5916"
.line 161
invoke-virtual {v5, v6, v7}, Landroidx/collection/SimpleArrayMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_0
const/4 v6, 0x2
.line 163
invoke-interface {p0, v1, v6}, Ljava/lang/CharSequence;->subSequence(II)Ljava/lang/CharSequence;
move-result-object v6
invoke-interface {v6}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Landroidx/collection/SimpleArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
if-eqz v5, :cond_2
move v5, v1
move v6, v5
:goto_0
if-ge v5, v0, :cond_1
.line 166
invoke-interface {p0, v5}, Ljava/lang/CharSequence;->charAt(I)C
move-result v7
add-int/lit8 v7, v7, -0x30
aget v8, v2, v5
mul-int/2addr v7, v8
add-int/2addr v6, v7
add-int/lit8 v5, v5, 0x1
goto :goto_0
.line 168
:cond_1
rem-int/2addr v6, v3
.line 169
invoke-interface {p0, v0}, Ljava/lang/CharSequence;->charAt(I)C
move-result p0
.line 170
aget-char v0, v4, v6
if-ne p0, v0, :cond_2
const/4 v1, 0x1
:cond_2
return v1
:array_0
.array-data 4
0x7
0x9
0xa
0x5
0x8
0x4
0x2
0x1
0x6
0x3
0x7
0x9
0xa
0x5
0x8
0x4
0x2
.end array-data
:array_1
.array-data 2
0x31s
0x30s
0x58s
0x39s
0x38s
0x37s
0x36s
0x35s
0x34s
0x33s
0x32s
.end array-data
.end method
.method public static isIP(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)"
.line 236
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
.locals 1
if-eqz p1, :cond_0
.line 247
invoke-interface {p1}, Ljava/lang/CharSequence;->length()I
move-result v0
if-lez v0, :cond_0
invoke-static {p0, p1}, Ljava/util/regex/Pattern;->matches(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
if-eqz p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public static isMobileExact(Ljava/lang/CharSequence;)Z
.locals 1
const/4 v0, 0x0
.line 50
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/RegexUtils;->isMobileExact(Ljava/lang/CharSequence;Ljava/util/List;)Z
move-result p0
return p0
.end method
.method public static isMobileExact(Ljava/lang/CharSequence;Ljava/util/List;)Z
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/CharSequence;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)Z"
}
.end annotation
const-string v0, "^((13[0-9])|(14[579])|(15[0-35-9])|(16[2567])|(17[0-35-8])|(18[0-9])|(19[0-35-9]))\\d{8}$"
.line 61
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result v0
const/4 v1, 0x1
if-eqz v0, :cond_0
return v1
:cond_0
const/4 v0, 0x0
if-nez p1, :cond_1
return v0
:cond_1
if-eqz p0, :cond_6
.line 64
invoke-interface {p0}, Ljava/lang/CharSequence;->length()I
move-result v2
const/16 v3, 0xb
if-eq v2, v3, :cond_2
goto :goto_1
.line 65
:cond_2
invoke-interface {p0}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object p0
.line 66
invoke-virtual {p0}, Ljava/lang/String;->toCharArray()[C
move-result-object v2
array-length v3, v2
move v4, v0
:goto_0
if-ge v4, v3, :cond_4
aget-char v5, v2, v4
.line 67
invoke-static {v5}, Ljava/lang/Character;->isDigit(C)Z
move-result v5
if-nez v5, :cond_3
return v0
:cond_3
add-int/lit8 v4, v4, 0x1
goto :goto_0
.line 71
:cond_4
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_5
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_6
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 72
invoke-virtual {p0, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_5
return v1
:cond_6
:goto_1
return v0
.end method
.method public static isMobileSimple(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "^[1]\\d{10}$"
.line 40
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static isTel(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "^0\\d{2,3}[- ]?\\d{7,8}$"
.line 86
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static isURL(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "[a-zA-z]+://[^\\s]*"
.line 193
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static isUsername(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "^[\\w\\u4e00-\\u9fa5]{6,20}(?<!_)$"
.line 216
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method
.method public static isZh(Ljava/lang/CharSequence;)Z
.locals 1
const-string v0, "^[\\u4e00-\\u9fa5]+$"
.line 203
invoke-static {v0, p0}, Lcom/blankj/utilcode/util/RegexUtils;->isMatch(Ljava/lang/String;Ljava/lang/CharSequence;)Z
move-result p0
return p0
.end method