var re=/^[^\s]{1}[\w]{0,24}$/g;
str="";
str1=" ";
str2="a";
str3="abcdefgabcdefgabcdefgabcdefgg";
document.write(re.test(str))
document.write("<br>")
document.write(re.test(str1))
document.write("<br>")
document.write(re.test(str2))
document.write("<br>")
document.write(re.test(str3))
str="";
str1=" ";
str2="a";
str3="abcdefgabcdefgabcdefgabcdefgg";
document.write(re.test(str))
document.write("<br>")
document.write(re.test(str1))
document.write("<br>")
document.write(re.test(str2))
document.write("<br>")
document.write(re.test(str3))
str1=" ";
str2=" a";
str3="abcdefgabcdefgabcdefgabcdefgg";
document.write(isValidStr(str))
document.write("<br>")
document.write(isValidStr(str1))
document.write("<br>")
document.write(isValidStr(str2))
document.write("<br>")
document.write(isValidStr(str3))function isValidStr(str)
{
if(typeof str == "string" && str.length)
{
if(str.length > 25)
return false;
return str.trim().length > 0 ? true : false;
}
else
{
return false;
}
}
return /^.{1,25}$/.test(a)&&/^.+\S.+$/.test(a);
}
保证好用
<script type="text/javascript" language="javascript">
//至少有一个非空白字符, 总长不超过 25 的正则表达式
var re=/\S/;
var s = " A ";
if(re.test(s) && s.length<=25)
{
alert(true);
}else
{
alert(false);
}
</script>
var re=/^(?![^\s]*$).{1,25}$/
alert(re.test(" "));//true
</script>
var re=/^[\s]{0,}$|^[\w\s]{26,}$/g;
str="";
str1=" ";
str2="a";
str3="abcdefgabcdefgabcdefgabcdefgg";
str4=" a";
document.write(!re.test(str))
document.write("<br>")
document.write(!re.test(str1))
document.write("<br>")
document.write(!re.test(str2))
document.write("<br>")
document.write(!re.test(str3))
document.write("<br>")
document.write(!re.test(str4))
一个正则实现的
也许这是体现正则表达式局限性的一个例子? (比如不能 and)
re.test(str)返回false看样一个正则很难搞定....
re.test(str)返回false
这个返回false是正确的一点都没错的你自己看我的正则是取的什么?re=/^[\s]{0,}$|^[\w\s]{26,}$/g;
这个正则是匹配全部是空字符或者大于25的字符串str=" a "; 这个当然不属于我正则匹配的那么你取反
!re.test(str)不就是LZ需要的了?
<script language="javascript">
var re=/^[\s]{0,}$|^[\w\s]{26,}$/g;
var str="";
alert(!re.test(str));//false
str=" ";
alert(!re.test(str));//true 这里为true?
</script>
<script language="javascript">
alert(regTest(""));
alert(regTest(" "));
alert(regTest("abcd"));
function regTest(str)
{
var re=/^[\s]{0,}$|^[\w\s]{26,}$/g;
return !re.test(str);
}
</script>
var re=/.{26}|^\s*$/g;
str=" ";
alert(!re.test(str));
<script language="javascript">
var re=/^[\s]{0,}$|^[\w\s]{26,}$/g;
var str="";
alert(!re.test(str));//false
str=" ";
alert(!re.test(str));//true 这里为true?
</script>去掉g参数就可以了,不知道为什么
str=" a ";
alert(re.test(str));
str="";
str1=" ";
str2="a";
str3="abcdefgabcdefgabcdefgabcdefgg";
str4=" a";
document.write(re.test(str))
document.write("<br>")
document.write(re.test(str1))
document.write("<br>")
document.write(re.test(str2))
document.write("<br>")
document.write(re.test(str3))
document.write("<br>")
document.write(re.test(str4))在我的基础上用预查是一样的其实就是要学会一个变通,逆向思维顺着不行,我们就逆着去想,会有意想不到的收获的