var a = that.data.pinyin; that.data.pinyin = a.replace(/([A-Z]+)/g, '$1').replace(/^!/, ''); console.log(that.data.pinyin);解释这段代码
时间: 2024-04-05 21:29:32 浏览: 22
这段代码是在小程序中使用的,首先从变量 `that` 中获取属性 `data` 中的 `pinyin` 值,然后使用正则表达式替换其中的大写字母。具体来说,使用 `/([A-Z]+)/g` 匹配所有连续的大写字母,并使用 `$1` 将其替换为原来的内容,从而达到不改变原有大写字母的目的。接着使用 `replace(/^!/, '')` 将字符串开头的感叹号删除。最后将处理后的 `pinyin` 值输出到控制台中。
相关问题
oninput(e){ var that=this that.data.identity=e.detail.value wx.request({ url: app.globalData.api +'/Student_GetInfoByIdCard', data:{ token:app.globalData.token, identity:that.data.identity }, method: 'POST', header: { 'content-type': 'application/json' }, success(res){ var r = JSON.parse(res.data.d) // console.log(r.JsonStr.data1) var data=r.JsonStr.data1 console.log(data) if(that.data.identity.length===18){ that.setData({ nation: data.nation, //民族 teacherphone: data.teacherphone, //指导老师手机号 teacher: data.teacher,//指导老师 name: data.name,//姓名 phone: data.phone,//手机号 gender:data.gender,//性别 nationality:data.nationality,//国籍 birthday:data.birthday_shorter,//生日 pinyinlist:data.pinyin//拼音 }) } } }) // console.log(e.detail.value) },如果身份证号长度不满18 所有信息都不显示代码
如果您想让所有信息都不管身份证号码长度的情况下都能够显示,可以将代码中的 `if(that.data.identity.length===18)` 这行代码修改为 `if(data !== null)`,这样无论身份证号码长度是多少,只要返回的 `data` 不为空,就会更新页面显示。
修改后的代码如下:
```
oninput(e) {
var that = this;
that.data.identity = e.detail.value;
wx.request({
url: app.globalData.api + '/Student_GetInfoByIdCard',
data: {
token: app.globalData.token,
identity: that.data.identity
},
method: 'POST',
header: {
'content-type': 'application/json'
},
success(res) {
var r = JSON.parse(res.data.d);
var data = r.JsonStr.data1;
console.log(data);
if (data !== null) {
that.setData({
nation: data.nation, //民族
teacherphone: data.teacherphone, //指导老师手机号
teacher: data.teacher, //指导老师
name: data.name, //姓名
phone: data.phone, //手机号
gender: data.gender, //性别
nationality: data.nationality, //国籍
birthday: data.birthday_shorter, //生日
pinyinlist: data.pinyin //拼音
});
}
}
});
}
```
oninput(e){ var that=this that.data.identity=e.detail.value if(that.data.identity<18)return; wx.request({ url: app.globalData.api +'/Student_GetInfoByIdCard', data:{ token:app.globalData.token, identity:that.data.identity }, method: 'POST', header: { 'content-type': 'application/json' }, success(res){ var r = JSON.parse(res.data.d) // console.log(r.JsonStr.data1) var data=r.JsonStr.data1 console.log(data) if(that.data.identity.length===18){ that.setData({ nation: data.nation, //民族 teacherphone: data.teacherphone, //指导老师手机号 teacher: data.teacher,//指导老师 name: data.name,//姓名 phone: data.phone,//手机号 gender:data.gender,//性别 nationality:data.nationality,//国籍 birthday:data.birthday_shorter,//生日 pinyinlist:data.pinyin//拼音 }) } else { that.setData({ nation: '', //民族 teacherphone: '', //指导老师手机号 teacher: '',//指导老师 name: '',//姓名 phone: '',//手机号 gender:'', //性别 nationality:'', //国籍 birthday:'', //生日 pinyinlist:'' //拼音 }) } } }) },修改这段代码 身份证长度不满足18位不发送请求
修改后的代码:
oninput(e){
var that = this;
that.data.identity = e.detail.value;
if(that.data.identity.length < 18) {
that.setData({
nation: '',
teacherphone: '',
teacher: '',
name: '',
phone: '',
gender: '',
nationality: '',
birthday: '',
pinyinlist: ''
});
return;
}
wx.request({
url: app.globalData.api + '/Student_GetInfoByIdCard',
data: {
token: app.globalData.token,
identity: that.data.identity
},
method: 'POST',
header: {
'content-type': 'application/json'
},
success(res){
var r = JSON.parse(res.data.d);
var data = r.JsonStr.data1;
that.setData({
nation: data.nation,
teacherphone: data.teacherphone,
teacher: data.teacher,
name: data.name,
phone: data.phone,
gender: data.gender,
nationality: data.nationality,
birthday: data.birthday_shorter,
pinyinlist: data.pinyin
});
},
fail(err){
console.log(err);
}
});
}
修改内容:在判断身份证号长度时,使用字符串长度进行判断,如果长度小于18就清空显示的数据并返回。在发送请求时,将身份证号作为请求数据的一个参数传递。并且在请求成功后,将返回的数据更新到页面上。在请求失败时,打印出错误信息。