Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
X
xyqb-user2
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
head_group
xyqb-user2
Commits
7d3f0ba9
Commit
7d3f0ba9
authored
Apr 04, 2018
by
技术部-任文超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化中文姓名校验工具类,支持少量扩展汉字(按需添加)
parent
603a8df8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
15 deletions
+18
-15
ValidationUtil.java
src/main/java/cn/quantgroup/xyqb/util/ValidationUtil.java
+18
-15
No files found.
src/main/java/cn/quantgroup/xyqb/util/ValidationUtil.java
View file @
7d3f0ba9
...
@@ -17,15 +17,17 @@ import java.util.regex.Pattern;
...
@@ -17,15 +17,17 @@ import java.util.regex.Pattern;
@Slf4j
@Slf4j
public
class
ValidationUtil
{
public
class
ValidationUtil
{
private
static
String
phoneRegExp
=
"^1[3456789][0-9]{9}$"
;
private
static
final
String
phoneRegExp
=
"^1[3456789][0-9]{9}$"
;
private
static
String
chineseNameRegExp
=
"^[\u4e00-\u9fff]+(\\.|·)?[\u4e00-\u9fff]+$"
;
private
static
final
String
chineseNameRegExp
=
"^[\u4e00-\u9fff]+(\\.|·)?[\u4e00-\u9fff]+$"
;
private
static
String
ipv4RegExp
=
"^((2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)\\.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)$"
;
private
static
final
String
chineseNameExtendRegExp
=
"^[\u4dae\u4e00-\u9fff]+(\\.|·)?[\u4dae\u4e00-\u9fff]+$"
;
private
static
String
localIpv4RegExp
=
"^((172\\.(1[0-6]|2[0-9]|3[01]))|(192\\.168|169\\.254)|((127|10)\\.(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)))(\\.(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)){2}$"
;
private
static
final
String
ipv4RegExp
=
"^((2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)\\.){3}(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)$"
;
private
static
final
String
localIpv4RegExp
=
"^((172\\.(1[0-6]|2[0-9]|3[01]))|(192\\.168|169\\.254)|((127|10)\\.(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)))(\\.(2[0-4][0-9]|25[0-5]|[01]?[0-9][0-9]?)){2}$"
;
private
static
Pattern
phonePattern
=
Pattern
.
compile
(
phoneRegExp
);
private
static
final
Pattern
phonePattern
=
Pattern
.
compile
(
phoneRegExp
);
private
static
Pattern
chinesePattern
=
Pattern
.
compile
(
chineseNameRegExp
);
private
static
final
Pattern
chinesePattern
=
Pattern
.
compile
(
chineseNameRegExp
);
private
static
Pattern
ipv4Pattern
=
Pattern
.
compile
(
ipv4RegExp
);
private
static
final
Pattern
chineseExtendPattern
=
Pattern
.
compile
(
chineseNameExtendRegExp
);
private
static
Pattern
localIpv4Pattern
=
Pattern
.
compile
(
localIpv4RegExp
);
private
static
final
Pattern
ipv4Pattern
=
Pattern
.
compile
(
ipv4RegExp
);
private
static
final
Pattern
localIpv4Pattern
=
Pattern
.
compile
(
localIpv4RegExp
);
public
static
boolean
validatePhoneNo
(
String
phoneNo
)
{
public
static
boolean
validatePhoneNo
(
String
phoneNo
)
{
boolean
lengthValid
=
StringUtils
.
isNotBlank
(
phoneNo
)
&&
phoneNo
.
length
()
==
11
&&
StringUtils
.
isNumeric
(
phoneNo
);
boolean
lengthValid
=
StringUtils
.
isNotBlank
(
phoneNo
)
&&
phoneNo
.
length
()
==
11
&&
StringUtils
.
isNumeric
(
phoneNo
);
...
@@ -40,15 +42,16 @@ public class ValidationUtil {
...
@@ -40,15 +42,16 @@ public class ValidationUtil {
if
(
StringUtils
.
isBlank
(
chinese
))
{
if
(
StringUtils
.
isBlank
(
chinese
))
{
return
false
;
return
false
;
}
}
Matcher
matcher
=
chinesePattern
.
matcher
(
chinese
);
boolean
valid
=
chinesePattern
.
matcher
(
chinese
).
find
();
boolean
valid
=
matcher
.
find
();
if
(!
valid
){
if
(!
valid
){
StringBuilder
uniCodeTemp
=
new
StringBuilder
();
StringBuilder
uniCodeTemp
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
chinese
.
length
();
i
++){
for
(
int
i
=
0
;
i
<
chinese
.
length
();
i
++){
uniCodeTemp
.
append
(
"\\u"
).
append
(
Integer
.
toHexString
((
int
)
chinese
.
charAt
(
i
)));
uniCodeTemp
.
append
(
"\\u"
).
append
(
Integer
.
toHexString
((
int
)
chinese
.
charAt
(
i
)));
}
}
log
.
info
(
"[ValidationUtil][validateChinese]:[chinese][unicode][length]:[{}][{}][{}]"
,
chinese
,
chinese
.
length
(),
uniCodeTemp
);
log
.
info
(
"[ValidationUtil][validateChinese]:[chinese][unicode][length]:[{}][{}][{}]"
,
chinese
,
chinese
.
length
(),
uniCodeTemp
);
}
}
// 兼容扩展字集合
valid
=
Boolean
.
logicalOr
(
valid
,
chineseExtendPattern
.
matcher
(
chinese
).
find
());
return
valid
;
return
valid
;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment