function f(s) { var r1=/^[0-9|a-z]([0-9|a-z|\.|\-|_]){3,9}$/; var r2=/([\.|\-|_]).*\1/g; alert((!r2.test(s))&&r1.test(s)); }
忘了以字母或数字结尾,这下应该是正确的了! function f(s) { var r1=/^[0-9|a-z]([0-9|a-z|\.|\-|_]){2,8}[0-9|a-z]$/; var r2=/([\.|\-|_]).*\1/g; alert((!r2.test(s))&&r1.test(s)); }
今天学了正则的向前向后查看,给你再写一个一句的: function f(s) { var r=/^(?!.*([\.\-_]).*\1)[0-9|a-z][0-9|a-z|\.|\-|_]{2,8}[0-9|a-z]$/; alert((r.test(s))); }
function isValid(str)
{
var s=new String(str)
var t=/^[a-zA-Z0-9]{1,}(([\.]?[a-zA-Z0-9]*?[\-]?[a-zA-Z0-9]*?[\_]?)|([\.]?[a-zA-Z0-9]*?[\_]?[a-zA-Z0-9]*?[\-]?)|([\-]?[a-zA-Z0-9]*?[\.]?[a-zA-Z0-9]*?[\_]?)|([\-]?[a-zA-Z0-9]*?[\_]?[a-zA-Z0-9]*?[\.]?)|([\_]?[a-zA-Z0-9]*?[\.]?[a-zA-Z0-9]*?[\-]?)|([\_]?[a-zA-Z0-9]*?[\-]?[a-zA-Z0-9]*?[\.]?))[a-zA-Z0-9]{1,}$/gi
if(t.test(s))
{
if(s.length>=4 && s.length<=10)
return true;
}
return false;
}var d="northsnow.csdn"
alert(isValid(d))
var d="north.snow"
alert(isValid(d))
</script>
^第一个&&第二个&&第三个$,不知道这样成不成,因为单个的要好判断一些.
第一个:^[a-z0-9]+\w?[a-z0-9]+$(还没加入长度的限制)
但是不能验证长度。
最后用
变量的 length属性单独验证长度。
rob123(萝卜[http://luobo.xiguat.com])
方法。
不过如果特殊字符太多的话,查找重复字符的工作也是很麻烦的。
/^[0-9|a-Z][0-9|a-Z|\.|-|_]{3,9}$/验证是否重复/([\.|-|_]).*/1/g
{
var r1=/^[0-9|a-z]([0-9|a-z|\.|\-|_]){3,9}$/;
var r2=/([\.|\-|_]).*\1/g;
alert((!r2.test(s))&&r1.test(s));
}
function f(s)
{
var r1=/^[0-9|a-z]([0-9|a-z|\.|\-|_]){2,8}[0-9|a-z]$/;
var r2=/([\.|\-|_]).*\1/g;
alert((!r2.test(s))&&r1.test(s));
}
function f(s)
{
var r=/^(?!.*([\.\-_]).*\1)[0-9|a-z][0-9|a-z|\.|\-|_]{2,8}[0-9|a-z]$/;
alert((r.test(s)));
}