正则(输入框 input 限制,整数,表情,保留两位小数,type=number时maxlength不起作用,身份证和姓名加密),小程序替换<br>为可换行

it2022-05-05  120

1.输入纯数字

var detail = e.detail.value; var detail1 = ''; if (detail) { detail1 = detail.replace(/[^\d]/g, ''); }

2.输入正整数

var detail = e.detail.value; var detail1 = ''; if (detail) { detail1 = detail.replace(/[^\d]/g, ''); if (detail1 == 0) { detail1 = 1 } }

3.输入保留两位小数(例如 均价,面积 不可能为负数,保留两位小数)

var detail1 = ''; if (detail) { if (isNaN(detail)) { detail1 = parseFloat(detail.replace(/[^\d]/g, '')).toFixed(2); } else { detail1 = parseFloat(detail).toFixed(2); } if (detail1 == 0) { detail1 = 1; } }

4.input

①过滤掉input框里输入的表情

转载地址:https://www.e-learn.cn/content/java/1052502

<html> <meta charset="UTF-8"> <title></title> <style type="text/css"></style> <body> <input class="form-control" type="text" placeholder="请输入账户名称" maxlength="50" oninput="inputEmoji(this)"> </textarea> <script type="text/javascript"> function inputEmoji(_this) { var regStr = /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/ig; if(regStr.test(_this.value)) { _this.value = _this.value.replace(regStr,""); } } </script> </body> </html>

② type=number时maxlength不起作用

<input id="phone" name="phone" type="text" placeholder="输入手机号码" oninput="value=this.value.replace(/\D+/g,'');if(value.length>11)value=value.slice(0,11)">

5.更多的限制,可以参考这里  https://www.jb51.net/article/40130.htm

6.小程序替换<br>为可换行

小程序中是不支持<br>标签的,即使是放在text标签中也不行,需要通过正则来替换所有的<br>

(1) wxml

<view>{{msg1}}</view> <text > {{msg}} </text>

(2)js

//index.js //获取应用实例 const app = getApp() Page({ data: { msg1: "餐饮:\n金融:< br /> 医院:<br />超市:<br />学校:<br />药店:<br />休闲:<br />卖场:<br />公园广场:<br />其他:金润发 < br > 毛坯紧邻珠江路和广州路,靠近鼓楼,商业生活配套成熟,超市有金润发超市,医院有鼓楼医院,临近南京大学和东南大学。" }, onLoad: function () { var msg = this.data.msg1.replace(/\s+/g, "").replace(/<br\/>/g, "\n").replace(/<br>/g, "\n"); this.setData({ msg: msg }); }, })

(3)效果

7.身份证加密

// 将身份证号替换为* function formatIcd(icd){ var newStr = ''; var char = ''; for (let i = 0, len = icd.length - 2; i < len; i++) { char += '*'; } newStr = icd.substr(0, 4) + char + icd.substr(14, 17); return newStr },

8.姓名加密

function formatName(name) { var newStr = ''; if (name.length === 2) { newStr = name.substr(0, 1) + '*'; } else if (name.length > 2) { let char = ''; for (let i = 0, len = name.length - 1; i < len; i++) { char += '*'; } newStr = name.substr(0, 1) + char ; } else { newStr = name; } return newStr; }

 


最新回复(0)