62,243
社区成员




源字符串:<input id="source" type="text" style="width:300px;">
<br><br>
<input type="submit" value="正则统计" onclick="regex()">
<input type="submit" value="ASCII统计" onclick="ascii()">
<br><br>
统计结果:<input id="result" type="text" style="width:300px;">
<br/><br/>
<br/><br/>
验证:任意汉字和字母组合在4到14字节间
<br/><br/>
<input id="byte" type="text" onblur="checkByte()" style="width:300px;">
<br/><br/>
<div id="anchorDIV"></div>
<script type="text/javascript">
document.close();
document.open();
function ascii()
{
var str = document.getElementById("source").value;
document.getElementById("result").value = asciilen(str);
}
function regex()
{
var str = document.getElementById("source").value;
document.getElementById("result").value = asciilen(str);
}
function asciilen(src)
{
var byteLen=0;
var len=src.length;
if(src)
{
for(var i=0; i<len; i++)
{
if(src.charCodeAt(i)>255)
{
byteLen += 2;
}
else
{
byteLen++;
}
}
return byteLen;
}
else
{
return 0;
}
}
function regexlen(src)
{
return src.replace(/[^\x00-\xFF]/g,'**').length;
}
function checkByte()
{
var str = document.getElementById("byte").value;
var len = regexlen(str);
if(len < 4 || len > 14)
{
document.getElementById("anchorDIV").innerHTML="<font color='red'>输入字符不符合长度限制!</font>";
}
else
{
if(/^[\u4e00-\u9fa5a-zA-Z0-9_]{2,14}$/.test(str))
{
document.getElementById("anchorDIV").innerHTML="<font color='green'>符合要求!</font>";
}
else
{
document.getElementById("anchorDIV").innerHTML="<font color='red'>输入字符不符合规则!</font>";
}
}
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
function TestLength(){
var s = document.getElementById("mm").value; // "输入的字符串 document.getElementById('inputid').value";
var r1 = /[^_0-9a-zA-Z\u4e00-\u9fa5]/g;
var r2 = /[\u4e00-\u9fa5]/g;
var length = 0;
if (r1.exec(s)) {
alert("仅 汉字 数字 字母和 _");
return false;
} else {
length = s.replace(r2,"**").length;
if(length >14 || length < 2){
alert("2-7个汉字,或4-14个字符(数字、字母和'_')。当前长度:" + length);
return false;
} else {
alert("ok");
return true;
}
}
}
</script>
</head>
<body>
<input type="text" id="mm" />
<input type="button" onclick="TestLength()" value=" test " />
</body>
</html>
/^([\u4e00-\u9fa5]{2,7})|([0-9a-zA-Z_]{4,14})$/
就是不行