正则表达式检测的问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 15:26:59
请问如何控制用户在网页的输入

想实现的功能:
用户可以不输入,但是输入就必须输入4个字符以上16个字符一下,这个正则怎么算啊?

输入的还必须是英文数字中文下划线其中的一种或者组合。
看了一下:

lindegong的(中文混合英文)就不行了。

失落的糖果的可以,也得到了想要的结果,不过不是纯正则。

反倒是/^[\u4E00-\u9600\w]*$/这个正则给了我很大启迪,谢谢哦。

<script language="javascript">
function check() {
var str=document.getElementById("user").value
if(/^[\u4E00-\u9600\w]*$/.test(str)==false)
{
alert("请正确输入!");
document.getElementById("user").focus()
return false;
}

strLength=str.length
//strLength=str.replace(/[^\x00-\xff]/g,'**').length
//如果中按16个字节匹配,用上面这句
if(strLength!="")
{
if(strLength<4||strLength>16)
{
alert("请正确输入!");
document.getElementById("user").focus()
return false;
}
}
}
</script>
<form method='post' action="1.asp" onsubmit="return check()">
用户名:<input id="user" name="user">
<input type="submit" value="确定">
</form>

dim input
input = request.form(input)
if