草庐IT

javascript - 在 JavaScript 中表达 UTF-16 unicode 字符

例如,要在JavaScript中表示字符U+10400,我使用"\uD801\uDC00"或String.fromCharCode(0xD801)+String.fromCharCode(0xDC00)。我如何计算出给定的unicode字符?我想要以下内容:varchar=getUnicodeCharacter(0x10400);如何从0x10400中找到0xD801和0xDC00? 最佳答案 基于wikipediaarticle由HenningMakholm给出,以下函数将返回代码点的正确字符:functiongetUnicode

JavaScript:如何检查字符是否为 RTL?

如何以编程方式检查浏览器是否将某些字符视为JavaScript中的RTL?也许创建一些透明的DIV并查看放置文本的位置?一点上下文。Unicode5.2添加了Avestan字母表支持。因此,如果浏览器支持Unicode5.2,它会将U+10B00之类的字符视为RTL(目前只有Firefox这样做)。否则,它将这些字符视为LTR,因为这是默认设置。我如何以编程方式检查它?我正在编写一个Avestan输入脚本,如果浏览器太笨,我想覆盖bidi方向。但是,如果浏览器确实支持Unicode,则不应覆盖bidi设置(因为这将允许混合Avestan和Cyrillic)。我目前这样做:varua=n

Javascript,将unicode字符串转换为Javascript转义?

例如,我有一个包含由日文字符组成的字符串的变量;“みどりいろ”我该如何将其转换为其Javascript转义形式?对于这个例子,我特别想要的结果是:"\u306f\u3044\u3044\u308d"如果有变化,我更喜欢jquery方法。 最佳答案 "み".charCodeAt(0).toString(16);这将为您提供unicode(十六进制)。您可以通过循环运行它:String.prototype.toUnicode=function(){varresult="";for(vari=0;i演示:http://jsfiddle.n

javascript - 如何将包含表情符号的字符串拆分为数组?

我想获取一串表情符号并对单个字符进行处理。在JavaScript中"???⛔???".length==13因为"⛔"长度为1,其余为2。所以我们可以'做varstring="???⛔???";s=string.split("");console.log(s); 最佳答案 JavaScriptES6有一个解决方案!,真正的拆分:[..."???⛔???"]//["?","?","?","⛔","?","?","?"]是吗?除了当你通过你的转译器运行它时,它可能不起作用(见@brainkim的评论)。它仅在兼容ES6的浏览器上本地运行时

javascript - Javascript string.toLowerCase() 在大小写转换中是否遵循 Unicode 标准?

我正在创建一个基于浏览器的表单验证脚本,根据Unicode标准检查输入是否没有任何大写字符。我对大写字符的定义是具有小写映射的字符。如果输入字符串中的某个字符没有小写或大写映射(如汉字)那么没关系(它应该通过我的验证)。我正在使用UTF-8编码。我打算创建一个如下所示的函数:functionhasUpper(str){if(str!=str.toLowerCase()){returntrue}else{returnfalse}}这能满足我的需求吗?谢谢! 最佳答案 是的,这会奏效。顺便说一下,bool关键字是小写的true和fals

javascript - 仅匹配 unicode 字母

我有以下只允许字母的正则表达式:/[a-zA-Z]+/a="abcDF"if(a.match(/[a-zA-Z]+/)==a){//Match}else{//NoMatch}我如何使用p{L}(通用-任何语言,如德语、英语等。)我试过的:a.match(/[p{l}]+/)a.match(/[\p{l}]+/)a.match(/p{l}/)a.match(/\p{l}/)但对于字母a="aB"全部返回null 最佳答案 从ECMAScript2018开始,JavaScript终于支持了Unicodepropertyescapes天生

javascript - 如何在 Javascript 中打印文字 unicode 字符串?

我有一个数组,其中包含带有特殊unicode字符的字符串:vara=[["a",33],["h\u016B",44],["s\u00EF",51],...];当我遍历这个数组时:for(i=0;i");}它打印带有重音符号的字符:ahùsô...我想要:ah\u016Bs\u00EF...如何在Javascript中实现这一点? 最佳答案 是这样的吗?/*Createsauppercasehexnumberwithatleastlengthdigitsfromagivennumber*/functionfixedHex(number

javascript - Z͎̠͗ͣḁ̵͙̑l͖͙̫̲̉̃ͦ̾͊ͬ̀g͔̤̞͓̐̓̒̽o͓̳͇̔ͥ文本如何被阻止?

我读过howZalgotextworks,我正在寻找聊天或论坛软件如何防止这种烦恼。更准确地说,什么是完整的Unicode组合字符集需要:a)要么被剥离,假设聊天参与者只使用不需要组合标记的语言(即你可以用组合标记写“未婚夫”,但你会是如果你坚持要咬Zalgo'd自己);或者,b)减少到最多8个连续字符(maximumencounteredinactuallanguages)?编辑:与此同时,我发现了一个措辞完全不同的问题(“Howtoprotectagainst...diacritics?”),它与这个问题基本相同。我把它的标题写得更明确了,这样其他人也能找到它。

带有 utf-16 代理项对的 javascript 和字符串操作

我正在开发一个Twitter应用程序,并且偶然发现了utf-8(16)的世界。似乎大多数javascript字符串函数都像我一样对代理对视而不见。我必须重新编码一些内容以使其具有广泛的字符意识。我有这个函数可以在保留代理项对的同时将字符串解析为数组。然后我将重新编写几个函数来处理数组而不是字符串。functionsortSurrogates(str){varcp=[];//arraytoholdcodepointswhile(str.length){//looptillwe'vedonethewholestringif(/[\uD800-\uDFFF]/.test(str.substr

javascript - 变音符号的正则表达式

我正在使用带有这行验证正则表达式的JS动画联系表:rx:{".name":{rx:/^[a-zA-Z'][a-zA-Z-']+[a-zA-Z']?$/,target:'input'},otherfields...我刚发现,我不能输入像“Müller”这样的名字。正则表达式不会接受这个。我必须做什么才能允许变音符号? 最佳答案 您应该在正则表达式中使用字符的unicode代码,例如\u0080。对于德语,我找到了下表:ZeichenUnicode------------------------------Ä,ä\u00c4,\u00e