小程序-正则表达式

一、功能介绍:

用正则表达式验证手机号、邮箱、身份证号、密码和密码强度。

二、使用方法:

以下几种是本次用到的正则表达式:

  1. 验证手机号

    /^(14[0-9]|13[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$KaTeX parse error: Expected 'EOF', got '\d' at position 8: / 或 /^1\̲d̲{10}/

  2. 验证邮箱

    /1+@[a-zA-Z0-9-]+(.[a-zA-Z0-9-]+)*.[a-zA-Z0-9]{2,6}$/

  3. 验证身份证号

    /(\d{15}$)|(^\d{18}$)|(\d{17}(\d|X|x)$)/

  4. 验证密码

    /2+\w{7}$/

三、示例代码:

regular.wxml

<!-- maxlength可输入最大长度,placeholder输入框为空时占位符 -->

<!-- bindchange输入框失去焦点时触发 -->

<!-- 加decode='true' &nbsp;占位符 -->

<view>

<!-- 验证手机号 -->

<view class='row'>

<text decode='true'>手&nbsp;&nbsp;机&nbsp;&nbsp;号:</text>

<input name="phone" type="number" maxlength="11" bindchange="inputPhoneNum" placeholder="请输入11位手机号码" ></input>

</view>

<!-- 验证邮箱 -->

<view class='row'>

<text decode='true'>邮&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;箱:</text>

<input name="email" bindchange="inputemail" placeholder="请输入邮箱"></input>

</view>

<!-- 验证身份证号 -->

<view class='row'>

<text>身份证号:</text>

<input name="card" bindchange="inputcard" maxlength="18" placeholder="请输入身份证号"></input>

</view>

<!-- 验证密码 -->

<view class='row'>

<text decode='true'>密&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码:</text>

<input name="password" bindchange="inputpassword" maxlength="8" placeholder="请输入8位字母数字(区分大小写)"></input>

</view>

</view>

regular.wxss

.row{

display: flex;

align-items: center;

margin-bottom: 0.8rem;

}

.row text{

flex-grow: 1;

text-align: left;

margin-left: 30rpx;

}

.row input{

font-size: 0.9rem;

color: rgb(92, 89, 89);

flex-grow: 4;

border: 1px solid rgb(141, 141, 150);

display: inline-block;

border-radius: 0.3rem;

padding: 0.3rem;

}

regular.js

Page({

// 输入框的初始值为空

// 手机号:phone 邮箱:email 身份证号:card 密码:password

data: {

phone: "",

email: "",

card: "",

password: "",

},

// 验证手机号部分

inputPhoneNum: function (e) {

let phoneNumber = e.detail.value

let checkedNum = this.checkPhoneNum(phoneNumber)

},

// 开始验证

checkPhoneNum: function (phoneNumber) {

let str = /^1\d{10}$/ //手机号不足11位正则

// 判空

if (phoneNumber == "") {

wx.showToast({ //显示弹出消息

title: '手机号不能为空',

// duration: 4000, //延迟弹出时间

})

} else

// 判断是否符合

if (str.test(phoneNumber)) {

return true

} else {

wx.showToast({ //显示弹出消息

title: '手机号不正确',

// duration: 4000, //延迟弹出时间

})

return false

}

},

// -------------------------------------------------------------

// 验证邮箱验证部分

inputemail: function (e) {

let email = e.detail.value

let checkedNum = this.checkEmail(email)

},

// 开始验证

checkEmail: function (email) {

let str = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.[a-zA-Z0-9]{2,6}$/ //邮箱正则

// 判空

if (email == "") {

wx.showToast({ //显示弹出消息

title: '邮箱不能空',

// duration: 4000, //延迟弹出时间

})

} else

// 判断是否符合

if (str.test(email)) {

return true

} else {

wx.showToast({ //显示弹出消息

title: '邮箱不正确',

// duration: 4000, //延迟弹出时间

})

return false

}

},

// ---------------------------------------------------------

// 验证身份证号部分

inputcard: function (e) {

let card = e.detail.value

let checkedNum = this.checkCard(card)

},

// 开始验证

checkCard: function (card) {

let str = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/ //身份证号正则

// 判空

if(card==""){

wx.showToast({ //显示弹出消息

title: '身份证号不能空',

// duration: 4000, //延迟弹出时间

})

} else

// 判断是否符合

if (str.test(card)) {

return true

} else {

wx.showToast({ //显示弹出消息

title: '身份证号不正确',

// duration: 4000, //延迟弹出时间

})

return false

}

},

// ---------------------------------------------------------

// 验证密码

inputpassword: function (e) {

let password = e.detail.value

let checkedNum = this.checkaPssword(password)

},

// 开始验证

checkaPssword: function (password) {

let str = /^[A-Za-z0-9]+\w{7}$/ //验证密码正则

// 判空

if (password==""){

wx.showToast({ //显示弹出消息

title: '密码不能空',

// duration: 4000, //延迟弹出时间

})

} else

// 判断是否符合

if (str.test(password)) {

return true

} else {

wx.showToast({ //显示弹出消息

title: '密码不正确',

// duration: 4000, //延迟弹出时间

})

return false

}
}
})

  1. a-zA-Z0-9_.- ↩︎

  2. A-Za-z0-9 ↩︎

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值