- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,当我使用 Javascript 在文件名中看到中文字符时,我想抛出一个错误。我的代码抛出“预期的十六进制数字”错误。到目前为止,我有以下代码:
if(document.f1.Attachment.value.match(""/[\u4e00-\u9fff]|[\u3400-\u4dbf]|[\u{20000}-\u{2a6df}]|[\u{2a700}-\u{2b73f}]|[\u{2b740}-\u{2b81f}]|[\u{2b820}-\u{2ceaf}]|[\uf900-\ufaff]|[\u3300-\u33ff]|[\ufe30-\ufe4f]|[\uf900-\ufaff]|[\u{2f800}-\u{2fa1f}]""))
{
alert('Attachment cannot contain Chinese characters');
}
我正在阅读并理解这是因为\u 但我不明白如何解决这个问题。
最佳答案
首先,您应该从正则表达式文字的两端删除 ""
。在 JS 中,您需要使用没有 "
或 '
的普通 /.../
来包装构造以使其正常工作,即解析为正则表达式。
接下来,您的模式包含符合 ECMAScript 6+ 标准的 \u{XXXXX}
符号,并且需要 u
修饰符才能在兼容的 JS 环境中工作。所以,在 ES6 中,这是一个有效的解决方案:
.match(/[\u4e00-\u9fff]|[\u3400-\u4dbf]|[\u{20000}-\u{2a6df}]|[\u{2a700}-\u{2b73f}]|[\u{2b740}-\u{2b81f}]|[\u{2b820}-\u{2ceaf}]|[\uf900-\ufaff]|[\u3300-\u33ff]|[\ufe30-\ufe4f]|[\uf900-\ufaff]|[\u{2f800}-\u{2fa1f}]/u)
要使其在 ES5 和旧版浏览器中工作,您需要 transpile the regex :
.match(/[\u4e00-\u9fff\u3400-\u4dbf\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff]|(?:[\uD840-\uD868\uD86A-\uD872][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD873[\uDC00-\uDEAF]|\uD87E[\uDC00-\uDE1F])/)
JS ES5 演示:
if("中文".match(/[\u4e00-\u9fff\u3400-\u4dbf\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff]|(?:[\uD840-\uD868\uD86A-\uD872][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD873[\uDC00-\uDEAF]|\uD87E[\uDC00-\uDE1F])/)) {
console.log("ES5: Chinese detected!");
}
JS ES6 演示:
if("中文".match(/[\u4e00-\u9fff]|[\u3400-\u4dbf]|[\u{20000}-\u{2a6df}]|[\u{2a700}-\u{2b73f}]|[\u{2b740}-\u{2b81f}]|[\u{2b820}-\u{2ceaf}]|[\uf900-\ufaff]|[\u3300-\u33ff]|[\ufe30-\ufe4f]|[\uf900-\ufaff]|[\u{2f800}-\u{2fa1f}]/u)) {
console.log("ES6: Chinese detected!");
}
最后一个在 IE 中给出Invalid range in character set错误,因为它不支持 ES6。
关于Javascript : Throw error when Chinese characters are in the file name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51029696/
根据谷歌翻译文档:中文(简体)是“zh-CN”。中文(繁体)是“zh-TW”。 但是当我为中文创建一个strings.xml资源文件时,它只对“zh”有效: 我的中文 strings.xml 文件应该
我有我开发的 Android 应用程序的完整工作 APK。该应用程序只有广告和一些基本功能,没有任何 Google Admob 广告或任何 Google 应用程序内购买。 我想把这个应用推广到中国,但
我在我的一个网页中使用引导表。 引导表:link 我有一个小而有趣的问题: 如您所见,boostrap 表格文本是中文的。 如何更改语言? 最佳答案 cdn 的错误。 在引导表网站中 Getting
我通过 gmail 给自己发送了一封中文电子邮件,我成功收到了它,其中包含以下标题 当我通过 javax.mail 发送中文电子邮件时,它在我的邮件浏览器中显示如下 失败电子邮件的 header 如下
当我选择输入语言为中文(拼音)并尝试输入时,仅显示英文字母,并且不显示有关将其转换为汉字的建议。 有什么办法可以解决这个问题吗? 最佳答案 试试这个:首先下载一个字体,这里我使用DroidSansFa
这个问题已经有答案了: UTF-8 all the way through (13 个回答) 已关闭 7 年前。 我有一个网页应该以中文显示网页上的字符,但目前它没有这样显示:到目前为止,我已经实现了
我已经将我的设备语言设置为中文(我希望!)如果我打电话 return Locale.getDefault().getLanguage(); 我得到 zh_zh 现在我注意到用户可以在他的设备上设置不同
我正在通过 ElasticSearch 进行文本搜索,并且使用术语类型进行查询时出现问题。我在下面所做的基本上是, 添加一个带有中文字符串(你好)的文档。 用text方法查询,返回文档。 使用 ter
上下文: 日本样本数据,不会像样本中那样显示 (cout)。为什么会这样? 代码如下: std::setlocale(LC_ALL,""); wchar_t *pStrAddr = L"日本語"; w
我每 10 秒就会收到一次。它是关于什么的?我怎样才能解决这个问题?这个问题与我创建的任何应用程序无关,它只发生在我在 Eclipse 中使用的模拟器上。我认为这是一些常见的“错误”。我可能只是午餐
这个问题在这里已经有了答案: What is the difference between varchar and nvarchar? (21 个回答) 关闭 5 年前。 how to select
我正在尝试使用中国耳语算法进行人脸聚类。我已经使用 dlib 和 python 为每张脸提取特征并映射到 128 D 向量,如 Davisking 在 https://github.com/davis
我正在尝试处理包含字母,数字,中文和一些标点符号的字符串,只剩下数字,字母和中文,如下所示 原始字符串 a>b%%c##1@23测$$试??\\:.##,,??!! 结果 abc123测试 中文版,p
有没有办法通过 tts 类(以正确的音调)输出 TTS 拼音? 我试过 SVOX 和 Pico... 我有一个数据库,其中不同的单词以如下形式存储Ni3好3 我试过:- Ni3Hao3 -> 结果:N
在我的虚拟盒子 Ubuntu 镜像下,我正在尝试用 C 语言编写 open 和 write 系统调用,结果遇到了我遇到过的最有趣的错误! 基本上,我从打开中获取一个文件描述符,并将来自写入函数的输入写
我正在使用一个名为 Aspose.Pdf 的 PDF 生成库。我喜欢这个库,但是我在让中文字符出现在 PDF 中时遇到了问题。我正在使用以下代码在 C#.NET MVC 中生成 PDF: var pd
我有一个网页,其中有一个排序,我必须按汉字排序列表。 我创建了一个包含如下代码的应用程序: List stuList = new List() { new Student("上海"
代表中国货币符号的 HTML 标签是什么? 或者有没有这样的标签? 最佳答案 我猜你是指 ¥ 的 HTML 实体: ¥ Handy reference 关于html - "Chinese do
我是新来的。这是我的问题: 正如我在标题中所说,该数字在我的文件中以奇怪的格式显示,例如:“d∟ÿ ”。 这是我的代码: try { int x; Fi
您好,当我使用 Javascript 在文件名中看到中文字符时,我想抛出一个错误。我的代码抛出“预期的十六进制数字”错误。到目前为止,我有以下代码: if(document.f1.Attachment
我是一名优秀的程序员,十分优秀!