用JS如何验证用户输入的用户名只能是汉字并且在2-4位之间

 我来答
百度网友79faf363
2019-11-19 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1212
采纳率:75%
帮助的人:54.6万
展开全部

function checkname(val){

reg = /^[\u4E00-\u9FA5]{2,4}$/;

if(!reg.test(val)){

document.getElementById('t').innerHTML = '不符合标准!';

}else{

document.getElementById('t').innerHTML = '符合标准!';

}

}

用正则的方式验证输入框的内容是2-4位的汉字。

扩展资料:

^:匹配输入字符串的开始位置。

$:匹配输入字符串的结尾位置。

[\u4e00-\u9fa5]:匹配一个汉字的范围。

{n,m}:m和n均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。    

[\u4E00-\u9FA5]{2,4}:表示2-4位汉字。

test():检测指定字符串是否存在返回一个布尔值

!reg.test(val):表示val匹配上reg,表达式为false,否则为true。

欧阳寒涵就是周大师
推荐于2017-10-15 · TA获得超过215个赞
知道小有建树答主
回答量:260
采纳率:100%
帮助的人:131万
展开全部
<body>

<input type="text" id="v" value="" />

<input type="button" value="验证" onclick="rr(document.getElementById('v').value)">

<span id="t" style="color:#ff0000"></span>

<script>

function rr(val){

 reg = /^[\u4E00-\u9FA5]{2,4}$/;

 if(!reg.test(val)){

  document.getElementById('t').innerHTML = '不符合标准!';

 }else{

  document.getElementById('t').innerHTML = '符合标准!';

 }

}

</script>

</body>

给你写好了,测试一下吧,望采纳!

追问
谢谢大哥的关注,你这个代码我拿来测试没有反应呀?我对这些不了解,还请指教!
追答
我都测了,好用啊!管理都推荐了,绝对好用
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
LXH929257102
2013-06-07 · TA获得超过489个赞
知道小有建树答主
回答量:545
采纳率:100%
帮助的人:248万
展开全部
([\u4e00-\u9fa5]{2,4})

这是2-4个汉字的正则表达式,如果正则表达式不太会用在问我
追问
谢谢大哥的帮助,我是个新手,对正则表达式不了解,更不知道怎么用了,还请多多指教!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友690c81e14
2013-06-07 · TA获得超过635个赞
知道小有建树答主
回答量:680
采纳率:0%
帮助的人:666万
展开全部
 var str=document.getElementById("username").value; 
 var reg = /^[\u4e00-\u9fa5]{2,4}$/i; 
 if (!reg.test(str)) 
 {
  alert("请输入2-4个汉字!"); 
  }
追问
请问你这个函数怎么调用呀?是的表单中加 onBlur 事件还是在按钮上加单击事件?调用时需要传参数吗?新手上阵,多多指教!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式