我是靠谱客的博主 文艺黑米,这篇文章主要介绍微信小程序 公众号 订阅消息 模板 正则 参数校验,现在分享给大家,希望可以做个参考。

自己配置订阅消息模板,如果参数格式不正确,会导致订阅消息发不出去,所以在创建模板的时候需要校验参数格式

订阅通知参数值内容限制说明:微信官方文档
在这里插入图片描述

创建模板:
订阅消息模板
代码:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<script> const validateRules = { letter: /^[a-zA-Z]+$/, symbol: /^[ '.,:;*?~`!@#$%^&_+=)(<>{}-][/\\"|]+$/, character: /^[a-zA-Z0-9 '.,:;*?~`!@#$%^&_+=)(<>{}-][/\\"|]+$/, /* eslint-disable max-len */ datetime: /^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?d):[0-5]?d$/, /* eslint-disable max-len */ date: /^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/, time: /^(20|21|22|23|[0-1]?d):[0-5]?d$/, amount: /^(¥|¥|$|€|R$|лв|£|S$|ARS$|₫){1}(d+(.d+)?)+$/, mobile: /^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])d{8}$/, /* eslint-disable max-len */ tel: /^((+d{2}-)|(d{2}-))?((d{7,8})|(d{4}|d{3})-(d{7,8})|(d{4}|d{3})-(d{7,8})-(d{4}|d{3}|d{2}|d{1})|(d{7,8})-(d{4}|d{3}|d{2}|d{1}))$/, carNumber: /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{5}[A-Z0-9挂学警港澳]{1}$/, number: /d/, chinaAndEng: /^[a-zA-Zu4e00-u9fa5]+$/, phrase: /^[u4e00-u9fa5]+$/, }; methods: { validateFormat(key, value, cb) { let fieldVal = value; if (!fieldVal) { cb('此项必填'); return; } let isValid = false; switch (key) { case 'thing': isValid = fieldVal.length <= 20; break; case 'number': isValid = Number(fieldVal) && fieldVal.length <= 32; break; case 'letter': isValid = validateRules.letter.test(fieldVal) && fieldVal.length <= 32; break; case 'symbol': isValid = validateRules.symbol.test(fieldVal) && fieldVal.length <= 5; break; case 'character_string': isValid = validateRules.character.test(fieldVal) && fieldVal.length <= 32; break; case 'time': case 'date': fieldVal = fieldVal.split('~'); for (let val of fieldVal) { val = val.replaceAll('年', '-') .replaceAll('月', '-') .replaceAll('日', ''); if ((key === 'date' && !(validateRules.date.test(val) || validateRules.datetime.test(val))) || (key === 'time' && !(validateRules.time.test(val) || validateRules.datetime.test(val)))) { cb('请按照要求输入'); return; } } isValid = true; break; case 'amount': fieldVal = fieldVal.replace('元', ''); isValid = validateRules.amount.test(fieldVal) && fieldVal.length <= 10; break; case 'phone_number': isValid = (validateRules.mobile.test(fieldVal) || validateRules.tel.test(fieldVal)) && fieldVal.length <= 17; break; case 'car_number': isValid = validateRules.carNumber.test(fieldVal) && fieldVal.length <= 8; break; case 'name': isValid = !validateRules.number.test(fieldVal) && ((validateRules.phrase.test(fieldVal) && fieldVal.length <= 10) || (validateRules.letter.test(fieldVal) && fieldVal.length <= 20) || (validateRules.chinaAndEng.test(fieldVal) && fieldVal.length <= 10)); break; case 'phrase': isValid = validateRules.phrase.test(fieldVal) && fieldVal.length <= 5; break; default: break; } if (!isValid) { cb('请按照要求输入'); return; } cb(); }, }</script>

最后

以上就是文艺黑米最近收集整理的关于微信小程序 公众号 订阅消息 模板 正则 参数校验的全部内容,更多相关微信小程序内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(85)

评论列表共有 0 条评论

立即
投稿
返回
顶部