- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想禁止我的文本输入和文本区域中出现所有表情符号。
目前,每次输入时都会检查整个文本,如果有表情符号,则会显示不允许使用的通知。
我怎样才能实现,只检查最后一个字符(而不是整个文本,我认为这在性能方面更好),并且如果这个字符是表情符号,则不会显示(阻止)?此外,我当前的正则表达式只是不允许某些表情符号(只是特殊的表情符号,例如眼睛或鞋子),而不是所有表情符号(例如正常的笑脸或舌头笑脸)。我怎样才能阻止它们?
到目前为止我的代码(HTML):
<textarea ng-model="postcard.textBack" id="message-textarea" no-emoticons></textarea>
ionic
app.directive('noEmoticons', function ($timeout) {
return function (scope, element, attrs) {
var emoticonDetected;
element.bind("keydown", function (event) {
var text = $('#message-textarea').val();
if(text.match(/([\uE000-\uF8FF]|\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDDFF])/g, '')){
emoticonDetected = true;
} else {
emoticonDetected = false;
}
scope.$emit('clicked-from-directive-emoticon', {emoticonDetected});
});
};
});
最佳答案
好的,以下指令会阻止所有表情符号并立即删除它们。
HTML
<textarea ng-model="postcard.textBack" id="message-textarea" no-emoticons></textarea>
Angular/ ionic
app.directive('noEmoticons', function ($timeout) {
return function (scope, element, attrs) {
var el = $('#message-textarea');
var emoticonDetected;
var emojiRegex = /(?:0\u20E3|1\u20E3|2\u20E3|3\u20E3|4\u20E3|5\u20E3|6\u20E3|7\u20E3|8\u20E3|9\u20E3|#\u20E3|\*\u20E3|\uD83C(?:\uDDE6\uD83C(?:\uDDE8|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDEE|\uDDF1|\uDDF2|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFC|\uDDFD|\uDDFF)|\uDDE7\uD83C(?:\uDDE6|\uDDE7|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDEF|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFB|\uDDFC|\uDDFE|\uDDFF)|\uDDE8\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF5|\uDDF7|\uDDFA|\uDDFB|\uDDFC|\uDDFD|\uDDFE|\uDDFF)|\uDDE9\uD83C(?:\uDDEA|\uDDEC|\uDDEF|\uDDF0|\uDDF2|\uDDF4|\uDDFF)|\uDDEA\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEC|\uDDED|\uDDF7|\uDDF8|\uDDF9|\uDDFA)|\uDDEB\uD83C(?:\uDDEE|\uDDEF|\uDDF0|\uDDF2|\uDDF4|\uDDF7)|\uDDEC\uD83C(?:\uDDE6|\uDDE7|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDEE|\uDDF1|\uDDF2|\uDDF3|\uDDF5|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFC|\uDDFE)|\uDDED\uD83C(?:\uDDF0|\uDDF2|\uDDF3|\uDDF7|\uDDF9|\uDDFA)|\uDDEE\uD83C(?:\uDDE8|\uDDE9|\uDDEA|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF6|\uDDF7|\uDDF8|\uDDF9)|\uDDEF\uD83C(?:\uDDEA|\uDDF2|\uDDF4|\uDDF5)|\uDDF0\uD83C(?:\uDDEA|\uDDEC|\uDDED|\uDDEE|\uDDF2|\uDDF3|\uDDF5|\uDDF7|\uDDFC|\uDDFE|\uDDFF)|\uDDF1\uD83C(?:\uDDE6|\uDDE7|\uDDE8|\uDDEE|\uDDF0|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFB|\uDDFE)|\uDDF2\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF5|\uDDF6|\uDDF7|\uDDF8|\uDDF9|\uDDFA|\uDDFB|\uDDFC|\uDDFD|\uDDFE|\uDDFF)|\uDDF3\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEB|\uDDEC|\uDDEE|\uDDF1|\uDDF4|\uDDF5|\uDDF7|\uDDFA|\uDDFF)|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C(?:\uDDE6|\uDDEA|\uDDEB|\uDDEC|\uDDED|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF7|\uDDF8|\uDDF9|\uDDFC|\uDDFE)|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C(?:\uDDEA|\uDDF4|\uDDF8|\uDDFA|\uDDFC)|\uDDF8\uD83C(?:\uDDE6|\uDDE7|\uDDE8|\uDDE9|\uDDEA|\uDDEC|\uDDED|\uDDEE|\uDDEF|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF7|\uDDF8|\uDDF9|\uDDFB|\uDDFD|\uDDFE|\uDDFF)|\uDDF9\uD83C(?:\uDDE6|\uDDE8|\uDDE9|\uDDEB|\uDDEC|\uDDED|\uDDEF|\uDDF0|\uDDF1|\uDDF2|\uDDF3|\uDDF4|\uDDF7|\uDDF9|\uDDFB|\uDDFC|\uDDFF)|\uDDFA\uD83C(?:\uDDE6|\uDDEC|\uDDF2|\uDDF8|\uDDFE|\uDDFF)|\uDDFB\uD83C(?:\uDDE6|\uDDE8|\uDDEA|\uDDEC|\uDDEE|\uDDF3|\uDDFA)|\uDDFC\uD83C(?:\uDDEB|\uDDF8)|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C(?:\uDDEA|\uDDF9)|\uDDFF\uD83C(?:\uDDE6|\uDDF2|\uDDFC)))|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692-\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD79\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED0\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3]|\uD83E[\uDD10-\uDD18\uDD80-\uDD84\uDDC0]/g;
element.bind("keyup", function (event) {
var text = el.val();
if(text.match(emojiRegex, '')){
emoticonDetected = true;
el.val(el.val().slice(0, -1));
event.preventDefault();
} else {
emoticonDetected = false;
}
scope.$emit('clicked-from-directive-emoticon', {emoticonDetected});
});
};
});
关于javascript - ionic : Disallow all emoticons,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38071456/
我见过一些网站在他们的 robots.txt 文件中使用“禁止:/sitepanel/或禁止:/cgi-bin/”。我知道我们使用“禁止:”来阻止搜索引擎爬虫抓取特定的网页或目录,但我不明白为什么我们
我正在使用 Python 请求: import requests image_url = my_url headers = {'User-agent': 'Mozilla/5.0 (Windows N
是否有 es lint 规则或 typescript 配置来禁止以下内容? let s: string; s = 'a'; s?.toLocaleLowerCase(); 在我看来, s 不可为空,因
我想禁止我的文本输入和文本区域中出现所有表情符号。 目前,每次输入时都会检查整个文本,如果有表情符号,则会显示不允许使用的通知。 我怎样才能实现,只检查最后一个字符(而不是整个文本,我认为这在性能方面
我收到此错误,但似乎无法找到如何让它工作。我的代码,只是遵循一些 Vaadin10+ 练习: @PropertyId("string") final TextField stringField = n
没有触发器的 PostgreSql 可能不允许更新列,只允许插入。 最佳答案 完全未经测试,但由于 Postgres SQL 支持列级权限,因此看起来可能是这样。 http://www.postgre
我已经在 Ubuntu 14.04 上安装了最新版本的 GitLab,除了推送到远程外,它工作正常。 运行 ssh git@example.com "git-receive-pack repo.git
这个问题已经有答案了: Regular expression for excluding special characters [closed] (11 个回答) 已关闭 9 年前。 我刚刚接触 Jq
我有两个事件:一个是 onclick,当我单击菜单时它会滚动到某个 div,另一个是 onscroll 中的“突出显示”菜单项当滚动条靠近 div 时。 我的问题是:如何在执行一个事件时“禁止”执行另
我正在使用 jQuery 创建一个相当简单的 slider 。为此,我使用了 mousedown、mousemove 和 mouseup 事件。 var pageX; $handle.bind('mo
我在一个开源库中编程,该库在代码中几乎没有注释,而且绝对没有与代码相关的文档,或者此类注释完全没有显示任何内容或完全令人困惑。库的示例类有时定义如下(这是一个抽象的简短示例): class A {
CI中URI传递参数时,出现:The URI you submitted has disallowed characters.错误。 原因:这是由于uri中存在CI不允许的字符。 解决办法: 在
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我编写了一个用于创建 Azure Windows VM 的 Terraform 模板。我需要将虚拟机配置为启用 PowerShell 远程处理,以便发布管道能够执行 Powershell 脚本。创建
如果在 R 函数中使用全局变量,是否有任何方法可以引发警告(并失败......)?我认为这更省钱,可以防止意外行为......例如 sUm local variable ‘sum’ assigned
我有以下代码,但出现 Sonar 违规错误:不允许分配参数解决这个问题的最佳方法是什么? /** * @param lastAccessTime the lastAccessTime
我想从表格中检索大气颗粒物值(遗憾的是该网站不是英文的,所以请随意询问所有内容):我失败了 BeautifulSoup 的组合并使用 requests 发送 GET 请求,因为表动态地填充了 Bo
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
新建一个git项目,只添加README.txt当我提交时,发生错误。 最佳答案 这里的问题似乎是您的用户名。使用 git config --list 检查它。您可以使用 更改它 $ git confi
如何禁止用户输入“*” read -p "inputData : " inputData #user input * echo $inputData #here it outputs the curr
我是一名优秀的程序员,十分优秀!