特殊字符和表情校验

简介: 开发的程序经过测试总是又奇奇怪怪的问题,譬如输入框输入了表情符号和特殊字符,这个时候我们把数据给了后台,后台报错了,那么我们就得做校验(虽然正常用户不会这么做。)那么整理了一下校验规则,把它贴出来,方便大家遇到的时候可以直接使用,以下是单独封装成一个js了通过,通过export导出

theme: juejin

highlight: atom-one-dark

开发的程序经过测试总是又奇奇怪怪的问题,譬如输入框输入了表情符号和特殊字符,这个时候我们把数据给了后台,后台报错了,那么我们就得做校验(虽然正常用户不会这么做。)那么整理了一下校验规则,把它贴出来,方便大家遇到的时候可以直接使用,以下是单独封装成一个js了通过,通过export导出

特殊字符和表情校验

// 是否是表情字符串
const isEmojiCharacter = function (substring) {
  if (!substring) return false;
  for (var i = 0; i < substring.length; i++) {
    var hs = substring.charCodeAt(i);
    if (0xd800 <= hs && hs <= 0xdbff) {
      if (substring.length > 1) {
        var ls = substring.charCodeAt(i + 1);
        var uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
        if (0x1d000 <= uc && uc <= 0x1f77f) {
          return true;
        }
      }
    } else if (substring.length > 1) {
      var ls = substring.charCodeAt(i + 1);
      if (ls == 0x20e3) {
        return true;
      }
    } else {
      if (0x2100 <= hs && hs <= 0x27ff) {
        return true;
      } else if (0x2B05 <= hs && hs <= 0x2b07) {
        return true;
      } else if (0x2934 <= hs && hs <= 0x2935) {
        return true;
      } else if (0x3297 <= hs && hs <= 0x3299) {
        return true;
      } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030
        || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b
        || hs == 0x2b50) {
        return true;
      }
    }
  }
}
// 是否是特殊字符
const isSpecialCharacters = function (str) {
  if (!str) return false;
  var reg = /[~#^$@%&!?%*]/gi;
  return reg.test(str);
}

export {
    isEmojiCharacter,
    isSpecialCharacters
}
// 使用
import { isEmojiCharacter, isSpecialCharacters } from '你的文件地址';
isEmojiCharacter('你需要校验的字符串')
isSpecialCharacters('你需要校验的字符串')
结束语:关注我,少走弯路!

image.png

相关文章
|
人工智能 Java 机器人
掌握正则验证字串符,轻松搞定字符串匹配
正则验证字串符是一种强大的工具,可以帮助程序员在处理字符串时轻松进行复杂匹配。本文将介绍正则表达式的概念、语法和在编程中的应用,并通过实例演示如何使用正则表达式进行字符串匹配、替换和提取等操作。
|
1月前
正则表达式
正则表达式
66 36
|
6月前
|
开发者
|
7月前
|
JavaScript
身份证校检正则表达式!!!
身份证校检正则表达式!!!
69 1
|
XML PHP 数据安全/隐私保护
常用的正则表达式
正则表达式是一种描述字符串结构的语法规则,是一种特定的格式化模式,用于验证各种字符串是否匹配(Match)这个特征,进而实现高级的文本查找、替换、截取等操作。 正则表达式在发展过程中出现了多种形式,一种是POSIX规范兼容的表达式,另一种是当Perl(一种功能丰富的编程语言)发展起来后,衍生出来的PCRE(Perl兼容正则表达式)库,使得许多开发人员将PCRE整合到自己的语言中,PHP中也未PCRE库的使用提供了相应的函数。
181 0
括号合法性问题(匹配、删除与生成)
括号合法性问题(匹配、删除与生成)
判断字符串是否有特殊字符和以0开头的正则表达式
判断字符串是否有特殊字符和以0开头的正则表达式
|
Java 数据安全/隐私保护
浅谈正则表达式的使用
在开发中,正则表达式的使用场景是多种多样的,同时也能够支持各种复杂场景,同时,正则表达式也是支持许多种语言,对于字符串的截取,匹配,替换 有着巨大的作用。
254 0