uin 去掉至少一个0开头后的值 是否不是一个数字 感觉意义不大啊 window.onload = function(){ var pre = /^[0-9]/gm; var s =['003','000','00a','a','3','33','0045']; for(i=0;i<s.length;i++) { alert(s[i]+":"+!pre.test(s[i].replace(/^0+/,""))) } }
var pre = /^[0-9]/gm; //以任何数字开头的正则 if(!pre.test(uin.value.replace(/^0+/,""))) //uni是一个标签元素吧//uin.value.replace(/^0+/,"")这个意思就是把uni元素值里的所有以开头为0的部分全部替换掉,也就是删除! //假设uni的值为000123abc,替换后就变成了123abc //pre.test('123abc')结果为真,因为123abc是以数字开头的,最后还有一个!取反就为假了! //再举个例子,如果uni的值为00abc,那么替换后就是abc,因为不是数字开头的,所以结果为假,再经过!就是真,整体结果为真!
首先,uin.value.replace(/^0+/,""),把字符串开头的0统统去掉.其次,这个正则当中的g很鸡肋,var pre = /^[0-9]/gm;既然是test,竟然还加了一个g最后,他做了一件事,就是验证uin.value这个字符串中有没有以数字开头的行(第一行以除0以外的数字开头) (很拗口是吧),怀疑一下,写这个正则的目的
感觉意义不大啊 window.onload = function(){
var pre = /^[0-9]/gm;
var s =['003','000','00a','a','3','33','0045'];
for(i=0;i<s.length;i++)
{
alert(s[i]+":"+!pre.test(s[i].replace(/^0+/,"")))
}
}
var pre = /^[0-9]/gm; //以任何数字开头的正则
if(!pre.test(uin.value.replace(/^0+/,"")))
//uni是一个标签元素吧//uin.value.replace(/^0+/,"")这个意思就是把uni元素值里的所有以开头为0的部分全部替换掉,也就是删除!
//假设uni的值为000123abc,替换后就变成了123abc
//pre.test('123abc')结果为真,因为123abc是以数字开头的,最后还有一个!取反就为假了!
//再举个例子,如果uni的值为00abc,那么替换后就是abc,因为不是数字开头的,所以结果为假,再经过!就是真,整体结果为真!
(很拗口是吧),怀疑一下,写这个正则的目的
{
var uin_len = cft_account.replace(/^\s+/g, "").replace(/\s+$/g, "").length;
var pre = /^[0-9]/gm;
if(!pre.test(cft_account.replace(/^0+/,"")))
{
alert("财付通账号格式不正确。");
alert(cft_account);
return false;
}
else if(uin_len != 10 && uin_len != 13)
{
alert("财付通账号格式不正确。(请输入10位或13位的账号)");
return false;
}
}
http://blog.csdn.net/blackpark/archive/2007/05/23/1622483.aspx