正则 验证输入文本框的长度

wwfgu00ing 2011-12-31 09:34:53
要求文本框的长度在4~10个字符之间


疑虑:文本框输入的内容不限,比如中文,一个汉字占用两个字符,这种情况如何考虑
...全文
142 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
全角模式下的标点符号也是两个字符 匹配双字节字符(包括汉字在内):[^x00-xff]


string pattern = @"(?i)[x00-xff]{4,10}|[^x00-xff]{2,5}";
诺维斯基 2011-12-31
  • 打赏
  • 举报
回复
/([a-zA-Z0-9]{2}|[\u4e00-\u9fa5]){2,5}/

如果想要标点符号,可以把不同种类的加进去。
wwfgu00ing 2011-12-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 q107770540 的回复:]
Try:

^.{4,10}$
[/Quote]

这样正则会将汉字当成一个字符处理
q107770540 2011-12-31
  • 打赏
  • 举报
回复
Try:

^.{4,10}$
wwfgu00ing 2011-12-31
  • 打赏
  • 举报
回复
用正则呢
天下在我心 2011-12-31
  • 打赏
  • 举报
回复
如果是前台用js来验证

//获取字符串实际长度
function getLength(str) {
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128)
realLength += 1;
else
realLength += 2;
}
return realLength;
}

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧