如何使用正则表达式验证中文输入
How to use regular expression to validate Chinese input?
问题是我需要在客户端验证中将这种中文输入视为无效:
当任何英文字符与任何中文字符和空格混合的总长度>=10时,
输入无效。让我们说:"你的一个你的一个你的你"或"你的你的你的你"(长度是10)是无效的。但是"某某某某某某某某某某某某某某某某"(长度为9)是可以的。
我使用Javascript做客户端验证和Java做服务器端。所以我想在两者上应用正则表达式应该是完美的。
谁能给一些提示如何写规则在正则表达式?
From Unicode中中文字符的完整范围是什么?, CJK unicode范围为:
Block Range Comment
--------------------------------------- ----------- ----------------------------------------------------
CJK Unified Ideographs 4E00-9FFF Common
CJK Unified Ideographs Extension A 3400-4DBF Rare
CJK Unified Ideographs Extension B 20000-2A6DF Rare, historic
CJK Unified Ideographs Extension C 2A700–2B73F Rare, historic
CJK Unified Ideographs Extension D 2B740–2B81F Uncommon, some in current use
CJK Unified Ideographs Extension E 2B820–2CEAF Rare, historic
CJK Compatibility Ideographs F900-FAFF Duplicates, unifiable variants, corporate characters
CJK Compatibility Ideographs Supplement 2F800-2FA1F Unifiable variants
CJK Symbols and Punctuation 3000-303F
您可能希望允许Unicode块CJK Unified Ideographs和CJK Unified Ideographs Extension A中的代码点。
此正则表达式将匹配0到9个空格,表意符号空格(U+3000), A-Z字母或这两个CJK块中的代码点。
/^[ A-Za-z'u3000-'u303F'u3400-'u4DBF'u4E00-'u9FFF]{0,9}$/
表意文字列于:
- 第1部分第2部分第3部分第4部分
- 扩展
但是,您也可以添加更多的块。
代码:
function has10OrLessCJK(text) {
return /^[ A-Za-z'u3000-'u303F'u3400-'u4DBF'u4E00-'u9FFF]{0,9}$/.test(text);
}
function checkValidation(value) {
var valid = document.getElementById("valid");
if (has10OrLessCJK(value)) {
valid.innerText = "Valid";
} else {
valid.innerText = "Invalid";
}
}
<input type="text"
style="width:100%"
oninput="checkValidation(this.value)"
value="你的a你的a你的a">
<div id="valid">
Valid
</div>
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- jQuery自定义验证比较多个输入的序列
- Sails.js:同时发布文本输入和一个文件
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 使用jquery在单击时在单元格中输入值
- 如何使用正则表达式验证中文输入
- 限制HTML中文本字段的输入而不刷新
- 输入中文的JQuery/DOM事件(ibus)
- javascript检测输入字符是繁体中文还是简体中文