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

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


	
	
	
	
		
		
		
	

② type=number时maxlength不起作用

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

6.小程序替换
为可换行

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

(1) wxml

{{msg1}}


  {{msg}}

(2)js

//index.js
//获取应用实例
const app = getApp()

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

(3)效果

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

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;
  }

 

你可能感兴趣的:(Web)