微信小程序正则表达式
在开发微信小程序时,经常需要对用户输入进行校验,这就需要用到正则表达式。正则表达式是一种文本模式,用来匹配或替换一定模式的文本。
在微信小程序中,可以使用JavaScript中的正则表达式语法进行匹配和校验。本文将介绍微信小程序中常用的正则表达式及其用途。
匹配手机号码
手机号码是一个常见的需要校验的输入项,一般需要检查手机号码是否符合国内的手机号格式。我们可以通过正则表达式来进行校验。
以下是匹配11位数字的手机号码正则表达式:
/^1[3456789]\d{9}$/
其中,”^”表示以该字符开头,”$”表示以该字符结尾,”\d”表示匹配任意数字。
// 示例代码
var phoneReg = /^1[3456789]\d{9}$/;
if (phoneReg.test(inputText)) {
console.log("手机号格式正确");
} else {
console.log("手机号格式不正确");
}
匹配电子邮件地址
电子邮件地址也是一个常见的输入项,一般需要检查电子邮件地址是否符合常见的电子邮件格式。我们可以通过正则表达式来进行校验。
以下是匹配常见电子邮件格式的正则表达式:
/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
其中,”\w”表示匹配任意字母、数字或下划线,”+”表示匹配一次或多次,”*”表示匹配0次或多次,”[]”表示匹配括号内任意一个字符,”()”表示分组。
// 示例代码
var emailReg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if (emailReg.test(inputText)) {
console.log("电子邮件格式正确");
} else {
console.log("电子邮件格式不正确");
}
匹配身份证号码
身份证号码也是一个常见的需要校验的输入项,一般需要检查身份证号码是否符合国内的身份证号码格式。我们可以通过正则表达式来进行校验。
以下是匹配18位身份证号码的正则表达式:
/^(\d{6})(19|20)(\d{2})(0\d|1[012])([012]\d|3[01])\d{3}([0-9]|X)$/
其中,”()”表示分组,”\d”表示匹配任意数字,”[]”表示匹配括号内任意一个字符,”|”表示或。
// 示例代码
var idReg = /^(\d{6})(19|20)(\d{2})(0\d|1[012])([012]\d|3[01])\d{3}([0-9]|X)$/;
if (idReg.test(inputText)) {
console.log("身份证号码格式正确");
} else {
console.log("身份证号码格式不正确");
}
匹配URL地址
URL地址也是一个常见的需要校验的输入项,一般需要检查URL地址是否符合常见的URL地址格式。我们可以通过正则表达式来进行校验。
以下是匹配常见URL地址格式的正则表达式:
/^(https?):\/\/[^\s\.]+(?:\.[^\s\.]+)+[^\s`!@#%^&*()_\-+=\[\]\\\{\}:;"',.<>?\/~\s]*/
其中,”\s”表示匹配任意空白字符,”.”表示匹配”.”字符,”+”表示匹配一次或多次,”-”表示匹配””字符,”[”和”]”表示匹配括号内任意一个字符,”\”表示转义字符,”{}”表示量词,”()”表示分组,”|”表示或。
// 示例代码
var urlReg = /^(https?):\/\/[^\s\.]+(?:\.[^\s\.]+)+[^\s`!@#%^&*()_\-+=\[\]\\\{\}:;"',.<>?\/~\s]*/;
if (urlReg.test(inputText)) {
console.log("URL地址格式正确");
} else {
console.log("URL地址格式不正确");
}
匹配日期格式
日期格式也是一个常见的需要校验的输入项,一般需要检查日期格式是否符合常见的日期格式。我们可以通过正则表达式来进行校验。
以下是匹配”yyyy-mm-dd”格式日期的正则表达式:
/^\d{4}-\d{1,2}-\d{1,2}$/
其中,”\d”表示匹配任意数字。
// 示例代码
var dateReg = /^\d{4}-\d{1,2}-\d{1,2}$/;
if (dateReg.test(inputText)) {
console.log("日期格式正确");
} else {
console.log("日期格式不正确");
}
匹配中文字符
有时候,我们需要检查输入是否含有中文字符。以下是匹配中文字符的正则表达式:
/[\u4e00-\u9fa5]/
其中,”\u4e00-\u9fa5″表示匹配中文字符范围。
// 示例代码
var chineseReg = /[\u4e00-\u9fa5]/;
if (chineseReg.test(inputText)) {
console.log("输入含有中文字符");
} else {
console.log("输入不含有中文字符");
}
匹配银行卡号
银行卡号也是一个需要校验的输入项,我们可以通过正则表达式来进行校验。
以下是匹配16或19位数字的银行卡号的正则表达式:
/^\d{16}|\d{19}$/
// 示例代码
var cardReg = /^\d{16}|\d{19}$/;
if (cardReg.test(inputText)) {
console.log("银行卡号格式正确");
} else {
console.log("银行卡号格式不正确");
}
结论
以上是微信小程序中常用的正则表达式及其用途。在开发微信小程序时,使用正则表达式可以有效地对用户输入进行校验和过滤,提高程序的健壮性和用户体验。