如何同时验证中文(unicode)和英文名称?

2024-01-12

我有一个多语言网站(中文和英文)。

我喜欢在 javascript 中验证文本字段(名称字段)。到目前为止我有以下代码。

var chkName = /^[characters]{1,20}$/;

if( chkName.test("[name value goes here]") ){
  alert("validated");
}

问题是,/^[characters]{1,20}$/ 只匹配英文字符。是否可以匹配任何(包括 unicode)字符?我曾经使用以下正则表达式,但我不想在每个字符之间留有空格。

/^(.+){1,20}$/

你可以看看JavaScript + Unicode 正则表达式 https://stackoverflow.com/questions/280712/javascript-unicode并进行一些研究以准确找到您想要允许的字符范围:

See Unicode 中汉字的完整范围是多少? https://stackoverflow.com/questions/1366068/whats-the-complete-range-for-chinese-characters-in-unicode

阅读完这两篇文章和一些额外的研究后,您应该能够找到合适的值来完成类似的事情:/^[-'a-z\u4e00-\u9eff]{1,20}$/i

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何同时验证中文(unicode)和英文名称? 的相关文章

随机推荐