Javascript 如何提取帖子中提到的用户?(VUE-NODE)
我拥有的Javascript 如何提取帖子中提到的用户?(VUE-NODE),javascript,node.js,vue.js,vuejs2,Javascript,Node.js,Vue.js,Vuejs2,我拥有的 创建标题(输入)、正文(输入)和提及用户(输入),3个独立的输入 我想要什么 我想在facebook、twitter等帖子中创建一个提及的功能,你可以在帖子正文中使用@添加要提及的用户(用户仅为数字用户) 我做了什么? 按@键并添加到帖子正文时搜索用户(显示用户bla bla的过程) 输入v-on:keyup.50=“searchUsers()”type=“text” 我需要什么? 我不知道如何提取添加到帖子正文中的@username1@username2,然后将其插入提到的数据库中
我们将非常感谢与此相关的任何文章或信息我认为正则表达式是一个很好的解决方案 我用一个例子写了一篇文章 预览:
<template>
<div id="app">
<input type="text"
v-model="title"
placeholder="title"
/>
<br><br>
<textarea rows="20"
cols="30"
v-model="body"
></textarea>
<div>
<h3>Mention users </h3>
{{mentionUsers}}
</div>
</div>
</template>
<script>
export default {
data() {
return {
title: null,
body: "Hello, bla bla bla @jrambo bla bla bla @jwick bla bla bla @cincarnato",
mentionUsers: []
};
},
methods: {
identifyMentionUsers() {
this.mentionUsers = this.body.match(/@\w+/g);
}
},
mounted(){
this.identifyMentionUsers()
},
watch: {
body(val){
this.identifyMentionUsers()
}
}
};
</script>
代码:
<template>
<div id="app">
<input type="text"
v-model="title"
placeholder="title"
/>
<br><br>
<textarea rows="20"
cols="30"
v-model="body"
></textarea>
<div>
<h3>Mention users </h3>
{{mentionUsers}}
</div>
</div>
</template>
<script>
export default {
data() {
return {
title: null,
body: "Hello, bla bla bla @jrambo bla bla bla @jwick bla bla bla @cincarnato",
mentionUsers: []
};
},
methods: {
identifyMentionUsers() {
this.mentionUsers = this.body.match(/@\w+/g);
}
},
mounted(){
this.identifyMentionUsers()
},
watch: {
body(val){
this.identifyMentionUsers()
}
}
};
</script>
提及用户
{{用户}}
导出默认值{
数据(){
返回{
标题:空,
身体:“你好,bla bla bla@jrambo bla bla bla bla@jwick bla bla bla bla@cincarato”,
用户:[]
};
},
方法:{
identificationusers(){
this.referenceUsers=this.body.match(/@\w+/g);
}
},
安装的(){
this.identificationUsers()
},
观察:{
正文(val){
this.identificationUsers()
}
}
};
我试过了,效果很好,顺便说一下,当我们发出get请求查看帖子时,我可以使用regex创建一个html标记来创建@username clickable?是的,你可以使用regex+replace来实现这个目的,添加一个标记来提及用户:@user有什么例子吗?我真的从来没有试过regex。如果你想了解要点,我可以再问你一个问题,可以吗?是的,我可以给你写一个例子。我会再写一个密码笔。如果可以,请提出另一个问题,完成后我将与您分享该示例。下面是带有替换示例的代码笔: