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
c1126ab2
Commit
c1126ab2
authored
Nov 06, 2019
by
杨锐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
code review done。
parent
a0104e38
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
63 additions
and
27 deletions
+63
-27
UserConstant.java
src/main/java/cn/quantgroup/xyqb/constant/UserConstant.java
+0
-9
ModifyPhoneNoController.java
...yqb/controller/modifyphoneno/ModifyPhoneNoController.java
+12
-4
AuditReq.java
...uantgroup/xyqb/controller/modifyphoneno/req/AuditReq.java
+4
-1
ModifyPhoneNoQueryReq.java
...b/controller/modifyphoneno/req/ModifyPhoneNoQueryReq.java
+4
-1
Step1Req.java
...uantgroup/xyqb/controller/modifyphoneno/req/Step1Req.java
+6
-5
Step2Req.java
...uantgroup/xyqb/controller/modifyphoneno/req/Step2Req.java
+4
-1
UserLoanStatusResp.java
...yqb/controller/modifyphoneno/resp/UserLoanStatusResp.java
+4
-1
ModifyPhoneNo.java
src/main/java/cn/quantgroup/xyqb/entity/ModifyPhoneNo.java
+4
-1
JsonResult.java
src/main/java/cn/quantgroup/xyqb/model/JsonResult.java
+1
-1
ModifyPhoneNoServiceImpl.java
...roup/xyqb/service/user/impl/ModifyPhoneNoServiceImpl.java
+23
-2
ValidationUtil.java
src/main/java/cn/quantgroup/xyqb/util/ValidationUtil.java
+1
-1
No files found.
src/main/java/cn/quantgroup/xyqb/constant/UserConstant.java
View file @
c1126ab2
...
@@ -2,13 +2,4 @@ package cn.quantgroup.xyqb.constant;
...
@@ -2,13 +2,4 @@ package cn.quantgroup.xyqb.constant;
public
class
UserConstant
{
public
class
UserConstant
{
public
static
final
String
USER_ERROR_OR_PASSWORD_ERROR
=
"帐号或密码错误"
;
public
static
final
String
USER_ERROR_OR_PASSWORD_ERROR
=
"帐号或密码错误"
;
/**
* 校验手机号
*/
public
static
final
String
MOBILE_PATTERN
=
"^(1[3-9])\\d{9}$"
;
/**
* 校验身份证号
*/
public
static
final
String
ID_CARD_PATTERN
=
"^(\\d{18,18}|\\d{15,15}|(\\d{17,17}[x|X]))$"
;
}
}
src/main/java/cn/quantgroup/xyqb/controller/modifyphoneno/ModifyPhoneNoController.java
View file @
c1126ab2
...
@@ -7,7 +7,9 @@ import cn.quantgroup.xyqb.controller.modifyphoneno.req.Step1Req;
...
@@ -7,7 +7,9 @@ import cn.quantgroup.xyqb.controller.modifyphoneno.req.Step1Req;
import
cn.quantgroup.xyqb.controller.modifyphoneno.req.Step2Req
;
import
cn.quantgroup.xyqb.controller.modifyphoneno.req.Step2Req
;
import
cn.quantgroup.xyqb.entity.ModifyPhoneNo
;
import
cn.quantgroup.xyqb.entity.ModifyPhoneNo
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.entity.User
;
import
cn.quantgroup.xyqb.exception.DataException
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.model.JsonResult
;
import
cn.quantgroup.xyqb.service.auth.IIdCardService
;
import
cn.quantgroup.xyqb.service.user.IModifyPhoneNoService
;
import
cn.quantgroup.xyqb.service.user.IModifyPhoneNoService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
...
@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
...
@@ -16,6 +18,7 @@ import org.springframework.web.bind.annotation.*;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
javax.validation.Valid
;
import
java.text.ParseException
;
/**
/**
* 用户手机号修改相关api
* 用户手机号修改相关api
...
@@ -32,6 +35,8 @@ public class ModifyPhoneNoController implements IBaseController {
...
@@ -32,6 +35,8 @@ public class ModifyPhoneNoController implements IBaseController {
@Resource
@Resource
private
IModifyPhoneNoService
modifyPhoneNoService
;
private
IModifyPhoneNoService
modifyPhoneNoService
;
@Resource
private
IIdCardService
iIdCardService
;
@ApiOperation
(
"app - 查询用户手机号修改进度"
)
@ApiOperation
(
"app - 查询用户手机号修改进度"
)
@GetMapping
(
"/progress"
)
@GetMapping
(
"/progress"
)
...
@@ -40,7 +45,7 @@ public class ModifyPhoneNoController implements IBaseController {
...
@@ -40,7 +45,7 @@ public class ModifyPhoneNoController implements IBaseController {
if
(
user
==
null
)
{
if
(
user
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"系统错误"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"系统错误"
,
null
);
}
}
return
JsonResult
.
buildSuccessResult
(
modifyPhoneNoService
.
progress
(
user
.
getId
()));
return
JsonResult
.
buildSuccessResult
Generic
(
modifyPhoneNoService
.
progress
(
user
.
getId
()));
}
}
...
@@ -52,12 +57,15 @@ public class ModifyPhoneNoController implements IBaseController {
...
@@ -52,12 +57,15 @@ public class ModifyPhoneNoController implements IBaseController {
*/
*/
@ApiOperation
(
"app - 申请修改手机号Step_1"
)
@ApiOperation
(
"app - 申请修改手机号Step_1"
)
@PostMapping
(
"/step_1"
)
@PostMapping
(
"/step_1"
)
public
JsonResult
step1
(
@Valid
@RequestBody
Step1Req
step1Req
)
{
public
JsonResult
step1
(
@Valid
@RequestBody
Step1Req
step1Req
)
throws
ParseException
{
if
(!
iIdCardService
.
isIdCardValid
(
step1Req
.
getIdCard
()))
{
throw
new
DataException
(
"身份证件号格式错误"
);
}
User
user
=
getCurrentUserFromRedis
();
User
user
=
getCurrentUserFromRedis
();
if
(
user
==
null
)
{
if
(
user
==
null
)
{
return
JsonResult
.
buildErrorStateResult
(
"系统错误"
,
null
);
return
JsonResult
.
buildErrorStateResult
(
"系统错误"
,
null
);
}
}
return
JsonResult
.
buildSuccessResult
(
modifyPhoneNoService
.
saveStep1
(
user
.
getId
(),
step1Req
));
return
JsonResult
.
buildSuccessResult
Generic
(
modifyPhoneNoService
.
saveStep1
(
user
.
getId
(),
step1Req
));
}
}
/**
/**
...
@@ -81,7 +89,7 @@ public class ModifyPhoneNoController implements IBaseController {
...
@@ -81,7 +89,7 @@ public class ModifyPhoneNoController implements IBaseController {
@ApiOperation
(
"后台客服处理功能 - 查询列表"
)
@ApiOperation
(
"后台客服处理功能 - 查询列表"
)
@GetMapping
@GetMapping
public
JsonResult
<
Page
<
ModifyPhoneNo
>>
list
(
@Valid
ModifyPhoneNoQueryReq
modifyPhoneNoQueryReq
)
{
public
JsonResult
<
Page
<
ModifyPhoneNo
>>
list
(
@Valid
ModifyPhoneNoQueryReq
modifyPhoneNoQueryReq
)
{
return
JsonResult
.
buildSuccessResult
(
modifyPhoneNoService
.
list
(
modifyPhoneNoQueryReq
));
return
JsonResult
.
buildSuccessResult
Generic
(
modifyPhoneNoService
.
list
(
modifyPhoneNoQueryReq
));
}
}
/**
/**
...
...
src/main/java/cn/quantgroup/xyqb/controller/modifyphoneno/req/AuditReq.java
View file @
c1126ab2
...
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
...
@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
lombok.Data
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
/**
* Date: 2019/11/4
* Date: 2019/11/4
...
@@ -13,7 +14,9 @@ import javax.validation.constraints.NotNull;
...
@@ -13,7 +14,9 @@ import javax.validation.constraints.NotNull;
* @author: yangrui
* @author: yangrui
*/
*/
@Data
@Data
public
class
AuditReq
{
public
class
AuditReq
implements
Serializable
{
private
static
final
long
serialVersionUID
=
9183603336718659105L
;
@NotNull
(
message
=
"id不能为空"
)
@NotNull
(
message
=
"id不能为空"
)
private
Long
id
;
private
Long
id
;
@ApiModelProperty
(
"申请状态 DONE 通过; NO_ALLOW 不通过;"
)
@ApiModelProperty
(
"申请状态 DONE 通过; NO_ALLOW 不通过;"
)
...
...
src/main/java/cn/quantgroup/xyqb/controller/modifyphoneno/req/ModifyPhoneNoQueryReq.java
View file @
c1126ab2
...
@@ -6,6 +6,8 @@ import cn.quantgroup.xyqb.controller.req.Page;
...
@@ -6,6 +6,8 @@ import cn.quantgroup.xyqb.controller.req.Page;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
/**
* Date: 2019/11/5
* Date: 2019/11/5
* Time: 下午4:02
* Time: 下午4:02
...
@@ -13,8 +15,9 @@ import lombok.Data;
...
@@ -13,8 +15,9 @@ import lombok.Data;
* @author: yangrui
* @author: yangrui
*/
*/
@Data
@Data
public
class
ModifyPhoneNoQueryReq
extends
Page
{
public
class
ModifyPhoneNoQueryReq
extends
Page
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
5578450647474952863L
;
/**
/**
* 申请人旧手机号
* 申请人旧手机号
*/
*/
...
...
src/main/java/cn/quantgroup/xyqb/controller/modifyphoneno/req/Step1Req.java
View file @
c1126ab2
package
cn
.
quantgroup
.
xyqb
.
controller
.
modifyphoneno
.
req
;
package
cn
.
quantgroup
.
xyqb
.
controller
.
modifyphoneno
.
req
;
import
cn.quantgroup.xyqb.constant.UserConstant
;
import
cn.quantgroup.xyqb.entity.ModifyPhoneNo
;
import
cn.quantgroup.xyqb.entity.ModifyPhoneNo
;
import
cn.quantgroup.xyqb.util.ValidationUtil
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
org.hibernate.validator.constraints.Length
;
...
@@ -9,6 +9,7 @@ import org.hibernate.validator.constraints.NotBlank;
...
@@ -9,6 +9,7 @@ import org.hibernate.validator.constraints.NotBlank;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
javax.validation.constraints.Pattern
;
import
javax.validation.constraints.Pattern
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Date
;
/**
/**
...
@@ -18,8 +19,9 @@ import java.util.Date;
...
@@ -18,8 +19,9 @@ import java.util.Date;
* @author: yangrui
* @author: yangrui
*/
*/
@Data
@Data
public
class
Step1Req
{
public
class
Step1Req
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3072182423041383540L
;
/**
/**
* 注册人真实姓名
* 注册人真实姓名
*/
*/
...
@@ -33,7 +35,6 @@ public class Step1Req {
...
@@ -33,7 +35,6 @@ public class Step1Req {
*/
*/
@ApiModelProperty
(
"注册人身份证件号"
)
@ApiModelProperty
(
"注册人身份证件号"
)
@NotBlank
(
message
=
"注册人身份证件号不能为空"
)
@NotBlank
(
message
=
"注册人身份证件号不能为空"
)
@Pattern
(
regexp
=
UserConstant
.
ID_CARD_PATTERN
,
message
=
"身份证件号格式错误"
)
private
String
idCard
;
private
String
idCard
;
/**
/**
...
@@ -41,7 +42,7 @@ public class Step1Req {
...
@@ -41,7 +42,7 @@ public class Step1Req {
*/
*/
@ApiModelProperty
(
"当前手机号码"
)
@ApiModelProperty
(
"当前手机号码"
)
@NotBlank
(
message
=
"当前手机号码不能为空"
)
@NotBlank
(
message
=
"当前手机号码不能为空"
)
@Pattern
(
regexp
=
UserConstant
.
MOBILE_PATTERN
,
message
=
"当前手机号码格式错误"
)
@Pattern
(
regexp
=
ValidationUtil
.
phoneRegExp
,
message
=
"当前手机号码格式错误"
)
private
String
prevPhoneNo
;
private
String
prevPhoneNo
;
/**
/**
...
@@ -49,7 +50,7 @@ public class Step1Req {
...
@@ -49,7 +50,7 @@ public class Step1Req {
*/
*/
@ApiModelProperty
(
"新手机号码"
)
@ApiModelProperty
(
"新手机号码"
)
@NotBlank
(
message
=
"新手机号码不能为空"
)
@NotBlank
(
message
=
"新手机号码不能为空"
)
@Pattern
(
regexp
=
UserConstant
.
MOBILE_PATTERN
,
message
=
"新手机号码格式错误"
)
@Pattern
(
regexp
=
ValidationUtil
.
phoneRegExp
,
message
=
"新手机号码格式错误"
)
private
String
curPhoneNo
;
private
String
curPhoneNo
;
/**
/**
...
...
src/main/java/cn/quantgroup/xyqb/controller/modifyphoneno/req/Step2Req.java
View file @
c1126ab2
...
@@ -5,6 +5,7 @@ import lombok.Data;
...
@@ -5,6 +5,7 @@ import lombok.Data;
import
org.hibernate.validator.constraints.NotBlank
;
import
org.hibernate.validator.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.io.Serializable
;
/**
/**
* Date: 2019/11/4
* Date: 2019/11/4
...
@@ -13,7 +14,9 @@ import javax.validation.constraints.NotNull;
...
@@ -13,7 +14,9 @@ import javax.validation.constraints.NotNull;
* @author: yangrui
* @author: yangrui
*/
*/
@Data
@Data
public
class
Step2Req
{
public
class
Step2Req
implements
Serializable
{
private
static
final
long
serialVersionUID
=
3199682428349201451L
;
/**
/**
*
*
*/
*/
...
...
src/main/java/cn/quantgroup/xyqb/controller/modifyphoneno/resp/UserLoanStatusResp.java
View file @
c1126ab2
...
@@ -5,6 +5,8 @@ import lombok.Builder;
...
@@ -5,6 +5,8 @@ import lombok.Builder;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
/**
* Date: 2019/11/5
* Date: 2019/11/5
* Time: 上午11:49
* Time: 上午11:49
...
@@ -15,7 +17,8 @@ import lombok.NoArgsConstructor;
...
@@ -15,7 +17,8 @@ import lombok.NoArgsConstructor;
@Builder
@Builder
@NoArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@AllArgsConstructor
public
class
UserLoanStatusResp
{
public
class
UserLoanStatusResp
implements
Serializable
{
private
static
final
long
serialVersionUID
=
6325390529584723230L
;
private
boolean
bizSuc
;
private
boolean
bizSuc
;
private
String
businessCode
;
private
String
businessCode
;
private
String
code
;
private
String
code
;
...
...
src/main/java/cn/quantgroup/xyqb/entity/ModifyPhoneNo.java
View file @
c1126ab2
...
@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.entity;
...
@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.entity;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.*
;
import
javax.persistence.*
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Date
;
/**
/**
...
@@ -14,7 +15,9 @@ import java.util.Date;
...
@@ -14,7 +15,9 @@ import java.util.Date;
@Data
@Data
@Entity
@Entity
@Table
(
name
=
"user_modify_phone_no"
)
@Table
(
name
=
"user_modify_phone_no"
)
public
class
ModifyPhoneNo
{
public
class
ModifyPhoneNo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
7797532159380593454L
;
/**
/**
* id
* id
*/
*/
...
...
src/main/java/cn/quantgroup/xyqb/model/JsonResult.java
View file @
c1126ab2
...
@@ -80,7 +80,7 @@ public class JsonResult<T> implements Serializable {
...
@@ -80,7 +80,7 @@ public class JsonResult<T> implements Serializable {
return
new
JsonResult
<>(
null
,
SUCCESS_CODE
,
null
,
SUCCESS_BUSSINESS_CODE
);
return
new
JsonResult
<>(
null
,
SUCCESS_CODE
,
null
,
SUCCESS_BUSSINESS_CODE
);
}
}
public
static
<
T
>
JsonResult
<
T
>
buildSuccessResult
(
T
data
)
{
public
static
<
T
>
JsonResult
<
T
>
buildSuccessResult
Generic
(
T
data
)
{
return
new
JsonResult
<>(
null
,
SUCCESS_CODE
,
data
,
SUCCESS_BUSSINESS_CODE
);
return
new
JsonResult
<>(
null
,
SUCCESS_CODE
,
data
,
SUCCESS_BUSSINESS_CODE
);
}
}
...
...
src/main/java/cn/quantgroup/xyqb/service/user/impl/ModifyPhoneNoServiceImpl.java
View file @
c1126ab2
...
@@ -19,7 +19,9 @@ import cn.quantgroup.xyqb.service.user.IUserService;
...
@@ -19,7 +19,9 @@ import cn.quantgroup.xyqb.service.user.IUserService;
import
cn.quantgroup.xyqb.util.DateUtils
;
import
cn.quantgroup.xyqb.util.DateUtils
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.qiniu.util.Auth
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.domain.Page
;
import
org.springframework.data.domain.Page
;
...
@@ -59,7 +61,10 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
...
@@ -59,7 +61,10 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
@Value
(
"${api.https}"
)
@Value
(
"${api.https}"
)
public
String
apiHttps
;
public
String
apiHttps
;
@Value
(
"${qiniu.storage.accessKey}"
)
public
String
accessKey
;
@Value
(
"${qiniu.storage.secretKey}"
)
public
String
secretKey
;
/**
/**
* @param userId user.id
* @param userId user.id
...
@@ -145,7 +150,23 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
...
@@ -145,7 +150,23 @@ public class ModifyPhoneNoServiceImpl implements IModifyPhoneNoService {
}
}
};
};
return
modifyPhoneNoRepository
.
findAll
(
specification
,
pageable
);
Page
<
ModifyPhoneNo
>
page
=
modifyPhoneNoRepository
.
findAll
(
specification
,
pageable
);
List
<
ModifyPhoneNo
>
modifyPhoneNos
=
page
.
getContent
();
if
(
CollectionUtils
.
isNotEmpty
(
modifyPhoneNos
))
{
modifyPhoneNos
.
forEach
(
modifyPhoneNo
->
{
Auth
auth
=
Auth
.
create
(
accessKey
,
secretKey
);
if
(
StringUtils
.
isNotBlank
(
modifyPhoneNo
.
getIdCardFaceUrl
()))
{
modifyPhoneNo
.
setIdCardFaceUrl
(
auth
.
privateDownloadUrl
(
modifyPhoneNo
.
getIdCardFaceUrl
()));
}
if
(
StringUtils
.
isNotBlank
(
modifyPhoneNo
.
getIdCardRearUrl
()))
{
modifyPhoneNo
.
setIdCardRearUrl
(
auth
.
privateDownloadUrl
(
modifyPhoneNo
.
getIdCardRearUrl
()));
}
if
(
StringUtils
.
isNotBlank
(
modifyPhoneNo
.
getIdCardHoldUrl
()))
{
modifyPhoneNo
.
setIdCardHoldUrl
(
auth
.
privateDownloadUrl
(
modifyPhoneNo
.
getIdCardHoldUrl
()));
}
});
}
return
page
;
}
}
/**
/**
...
...
src/main/java/cn/quantgroup/xyqb/util/ValidationUtil.java
View file @
c1126ab2
...
@@ -17,7 +17,7 @@ import java.util.regex.Pattern;
...
@@ -17,7 +17,7 @@ import java.util.regex.Pattern;
@Slf4j
@Slf4j
public
class
ValidationUtil
{
public
class
ValidationUtil
{
p
rivate
static
final
String
phoneRegExp
=
"^1[3456789][0-9]{9}$"
;
p
ublic
static
final
String
phoneRegExp
=
"^1[3456789][0-9]{9}$"
;
private
static
final
String
chineseNameRegExp
=
"^[\u4e00-\u9fff]+((\\.|·)[\u4e00-\u9fff]+){0,2}$"
;
private
static
final
String
chineseNameRegExp
=
"^[\u4e00-\u9fff]+((\\.|·)[\u4e00-\u9fff]+){0,2}$"
;
private
static
final
String
chineseNameExtendRegExp
=
"^[\u4dae\u4e00-\u9fff]+((\\.|·)[\u4dae\u4e00-\u9fff]+){0,2}$"
;
private
static
final
String
chineseNameExtendRegExp
=
"^[\u4dae\u4e00-\u9fff]+((\\.|·)[\u4dae\u4e00-\u9fff]+){0,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
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]?)$"
;
...
...
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