如何在js中验证字符串只包含来自多个unicode范围的字符
How do I validate in js that a string only contains chars from multiple unicode ranges
我有一个输入字段,我想验证输入是否对多种语言(和数字)有效
我从网上收集了一些信息,但不知道如何将这些部分组合成一个有效的正则表达式。
从这里我找到了一些我需要的范围:
0000-007F Basic Latin
0080-00FF Latin-1 Supplement
0100-017F Latin Extended-A
0180-024F Latin Extended-B
从这里我发现了日本范围:
4e00-9fbf, 3040-309f and 30a0-30ff
但是,我如何在javascript中将它们组合为一个regex(包括数字),以便验证它们是否是唯一允许的字符?(我需要更多的语言,但如果我需要理解这个概念,然后我可以自己添加更多的unicode范围)
正则表达式类别'p{L}
适合您,它匹配所有已知语言中的字母。但遗憾的是,JavaScript内置的RegExp
不支持它。相反,您可以考虑将XRegExp
与Unicode Base插件一起使用。
<script src="xregexp.js"></script>
<script src="addons/unicode/unicode-base.js"></script>
<script>
var unicodeWord = XRegExp("^''p{L}+$");
unicodeWord.test("Русский"); // true
unicodeWord.test("日本語"); // true
unicodeWord.test("العربية"); // true
</script>
来自的代码段http://xregexp.com/plugins
相关文章:
- 正在全局范围中查找JavaScript函数
- 如何通过数组更新角度子范围
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- HTML范围:动态设置值属性
- "实例范围”;TypeScript类的getter/setter
- jquery日期选择器年份范围默认值
- Jpgraph:如何手动设置X轴和Y轴的范围
- 在对象数组中查找多个值的d3范围
- 动态加载angularjs并生成控制器和范围
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 在Materialize Calendar中设置年份范围
- 在MVVM视图模型中处理应用程序范围的元素
- setInterval游戏循环的范围问题
- JavaScript Unicode Regex - 字符类中的顺序范围
- 正在禁用输入字段中的Unicode字符范围
- 如何在js中验证字符串只包含来自多个unicode范围的字符
- 删除javascript中不同范围内的Unicode字符
- 从Javascript的字符范围中检测unicode字符(汉字)
- 用CasperJS检查unicode范围
- 客户端验证,包括unicode字符范围