运用正则方式对获取的值进行校验

最近做的一个获取修改店铺名称的例子:
限制:最长不超过24字节,汉字数量1~10
下面是运用正则方式进行判断,仅供有相似需求的伙伴参考。代码可能不完整切勿直接copy运行。
let chinese = /[^x00-xff]/gi; //判断中文
let character = new RegExp(
“[[`~!@#$^&()=|{}’:;’,[].<> 《》/?~!@#¥……&()——|{}【】‘;:”“’。,、?]”
);//特殊字符
let blank = new RegExp(“^[ ]+$”); //空格

//获取输入店铺名
onInput: function(e) {
this.setData({
shopName: e.detail.value
});
},
//提交店铺名
onSave: function(e) {
let inputName = this.data.shopName;
if (inputName && !blank.test(inputName)) {
//特殊字符判断
if (character.test(inputName)) {
wx.showToast({
title: “店铺名称不可包含特殊字符”,
icon: “none”,
duration: 2000
});
} else if (
inputName.replace(/[^\u0000-\u00ff]/g, “aa”).length <= 24
) {
//含有汉字
if (chinese.test(inputName)) {
//店铺名称中文长度判断Max
if (inputName.match(chinese).length >= 10) {
wx.showToast({
title: “店铺名称长度不符合要求哦!”,
icon: “none”,
duration: 2000
});
return;
}
// 调用后台接口
updateShopName(inputName).then(res => {});
}
//不合格店铺名称,无汉字
else {
wx.showToast({
title: “店铺名称至少含有一个汉字”,
icon: “none”,
duration: 2000
});
}
} else {
wx.showToast({
title: “店铺名称长度不符合要求哦!”,
icon: “none”,
duration: 2000
});
}
} else {
wx.showToast({
title: “请输入店铺名称”,
icon: “none”,
duration: 2000
});
}
},
}

猜你喜欢

转载自blog.csdn.net/hansiqi0817/article/details/81488896