我有以下聊天应用,我想替换包含'F600;'
的任何字符串 if ($('#m').val().match(/(\:\))/g)) {
$('#m').val() = $('#m').val().replace(/(\:\))/g, 'F600;')
}
,以便它变成表情符号
到目前为止我所做的并不奏效。我相信我的正则表达式是正确的。
相关摘录:
<ul id="messages"></ul>
<form action="">
<input id="m" autocomplete="off" />
<button>Send</button>
</form>
</body>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.4/socket.io.js"></script>
<script>
var socket = io(); // connect to the server
$(function () {
if ($('#m').val().match(/(\:\))/g)) {
$('#m').val() = $('#m').val().replace(/(\:\))/g,'F600;')
}
$('form').submit(function () {
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat message', function (msg) {
$('#messages').append($('<li>').text(msg));
});
});
</script>
背景信息:
public List<PersonalInfo> getAllPatient() {
final List<PersonalInfo> mPersonalInfoList = new ArrayList<>();
AppDatabase db = AppDatabase.getAppDatabase(mContext);
db.patientDao().getAll()
.flatMapIterable(patientlist -> {
List<PersonalInfo> personalInfoList = new ArrayList<>();
for (PersonalInfo p : patientlist) {
p.setColor(getRandomMaterialColor("400"));
personalInfoList.add(p);
}
return personalInfoList;
})
.toList()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
synchronized (mPersonalInfoList) {
mPersonalInfoList.addAll(result);
mPersonalInfoList.notifyAll();
}
}
);
synchronized (mPersonalInfoList) {
try {
mPersonalInfoList.wait();
} catch (InterrupedException ex) {
ex.printStackTrace();
}
}
return mPersonalInfoList;
}