javascript - Javascript 编码检查器 ASCII/UFT8
问题描述
有没有办法mb_detect_encoding
用 javascript 从 PHP 复制?我正在尝试重新创建这样的东西。
isAscii("éton") //false
isAscii("hello") //true
或者有没有办法检查一个字符串是否已经用 utf-8 编码?
解决方案
由于所有 ASCII 字符都介于两者之间\x00
,\x7F
您可以简单地测试您的字符串是否与 RegEx 匹配该字符范围。
RegEx 将是/^[\x00-\x7F]*$/
,并使用该//.test()
方法返回输入是否符合模式:
function isAscii(str) {
return /^[\x00-\x7F]*$/.test(str);
}
console.log(isAscii("éton")) //false
console.log(isAscii("hello")) //true
正如@duskwuff指出的那样,检查字符串是否包含不属于ASCII 集合的任何字符然后返回与该结果相反的字符会更有效率:
function isAscii(str) {
return !/[^\x00-\x7f]/.test(str);
}
console.log(isAscii("éton")) //false
console.log(isAscii("hello")) //true
但是请注意,这不是编码,它是字符的来源。
推荐阅读
- ios - 处理不同的 MGLPointAnnotation 标注
- javascript - 使用 javascript 创建多个元素
- c# - 如果我操纵它,SfDataPager 将停止显示源集合。(源集合异步填充)
- javascript - 如何样式化/减小 Material UI 警报栏的宽度?
- swift - 音频播放但视频在慢速互联网上冻结 AVPlayer
- sql - 通过嵌套组合查询
- r - 在 R 中制作一个黑暗的主题情节
- javascript - 使用 onClick 事件时函数仅执行一次 [javascript]
- java - Netbeans 8.0.2 安装本机库错误
- excel - 取消保护工作表,保护一些单元格并保留其他单元格