正则表达式使用
正则表达式经常用,这里介绍个网站
正则表达式生成器
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
package io.github.lyr2000.dissertation.util;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author lyr
* @description 字符串比较工具
* @create 2021-11-23 19:21
*
*/
public class StringMatcherUtil {
public static Pattern getPattern(String regex) {
return Pattern.compile(regex);
}
public static Matcher getMatcher(Pattern p,String value) {
Matcher matcher = p.matcher(value);
return matcher;
}
}
|
1
2
3
4
5
6
|
/**
* 图片地址
*/
@NotBlank(groups = {V.Create.class},message = "课程封面图片不能为空")
@Pattern(regexp = "^http[s]?://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*).(jpeg|jpg|png|jfif)$",message = "不是图片格式")
private String courseCoverImg;
|
@Pattern 切面的一些问题
如果字符串 为空,就不校验,如果不为空就要校验 怎么写?
1
2
|
@Pattern(regexp = "^$|^http[s]?://([\\w-]+\\.)+[\\w-]+(/[\\w-./?%&=]*).(jpeg|jpg|png|jfif)(.*?)$",message = "不是图片格式",groups = {V.Create.class,V.Update.class})
private String courseCoverImg;
|
可以在前面加个 ^$|
这样就可以把 空字符串也包含进去了。
参考csdn的博客
react 前端进行校验
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<Form.Item label="课程名字"
name="courseName" rules={[
{
required:true,
message:"课程名字不能为空"
},
]} >
<Input placeholder="courseName" />
</Form.Item>
<Form.Item label="封面图片"
rules={[
{
pattern:/^http[s]{0,1}:\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*).(jpeg|jpg|png|jfif)(.*?)$/,
message:"请输入图片格式"
}
]
}
name="courseCoverImg" >
<Input placeholder="课程封面图片" />
</Form.Item>
|