
小程序WXS页面正则表达式报错及解决方案
在小程序WXS中使用正则表达式时,常常会遇到语法错误。本文将分析错误原因并提供正确的WXS正则表达式使用方法。
错误原因:不支持正则表达式字面量
WXS不支持直接使用正则表达式字面量(例如/^[1][3,4,5,7,8,9][0-9]{9}$/)。这是导致报错的主要原因。
正确使用方法:使用getRegExp()方法
WXS中创建正则表达式对象需要借助getRegExp()方法。该方法接受正则表达式字符串作为参数,并返回一个正则表达式对象。
示例:
var talreg = getRegExp('^[1][3,4,5,7,8,9][0-9]{9}$');
getRegExp()方法还可以接收第二个可选参数,用于指定正则表达式的标志(例如,g表示全局匹配)。
手机号格式化示例
以下示例演示如何使用getRegExp()方法和exec()方法格式化手机号:
var formatPhone = function (val) {
if (val) {
const matches = getRegExp('^(\d{3})(\d{4})(\d{4})$').exec(val);
if (matches) {
return matches[1] + ' ' + matches[2] + ' ' + matches[3];
}
}
return val;
};
此示例中,getRegExp()创建正则表达式对象,exec()方法用于匹配手机号字符串,并返回匹配结果。
参考文档
更多关于getRegExp()方法的详细信息,请参考微信小程序官方文档:wx.getRegExp()










