js判断不能输入连续6个数字!在线等

David8631 2010-01-13 04:19:29
在WEB系统中,许多用户特喜欢用这类简单连续密码,比如123456、234567、345678……等连续数字,还有如88888,111111等相同的数字
。求一个js程序判断,密码必须全部为数字,但是不允许像上面的连续6个相近和相同的数字,但是允许这样:123459,123854,888889。在线等!
...全文
1436 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Inpool 2010-01-14
  • 打赏
  • 举报
回复

<html>
<title></title>
<script type="text/javascript">
window.onload = function(){
document.getElementById("test").onclick = function(){
var passwd = document.getElementById("passwd");
var value = passwd.value;
var reVal = /^\d{6}$/;
if(!reVal.test(value)){
alert("密码必须为六个数字!");
passwd.select();
passwd.focus();
return;
}
var i = 2;
while(i<value.length){
if(parseInt(value.substr(i,1)) - parseInt(value.substr(i-1,1)) != parseInt(value.substr(i-1,1)) - parseInt(value.substr(i-2,1))){
return;
}
i++;
}
alert("密码不能太简单!");
passwd.select();
passwd.focus();
return;
}
}
</script>
<head>
</head>
<body>
<input type="password" id="passwd" />
<input type="button" value="test password" id="test" />
</body>
</html>
David8631 2010-01-14
  • 打赏
  • 举报
回复
谢谢大家的帮助,问题已经解决。wcwtitxu方法很好!谢谢!
yangchao0618 2010-01-14
  • 打赏
  • 举报
回复
indexof
wcwtitxu 2010-01-13
  • 打赏
  • 举报
回复

我上面不是有么


function test(s) {
if (!/^\d{6}$/.test(s)) return false; // 不是6位数字
if (/^(\d)\1+$/.test(s)) return false; // 全一样

var str = s.replace(/\d/g, function($0, pos) {
return parseInt($0)-pos;
});
if (/^(\d)\1+$/.test(str)) return false; // 顺增

str = s.replace(/\d/g, function($0, pos) {
return parseInt($0)+pos;
});
if (/^(\d)\1+$/.test(str)) return false; // 顺减
return true;
}
alert(test("654321"))
David8631 2010-01-13
  • 打赏
  • 举报
回复
我忘了告诉大家了还有一种情况也不行,就是,654321。大家的代码我都测试了,都没有处理这种情况!怪我没有说清楚!
sundotLei 2010-01-13
  • 打赏
  • 举报
回复

<SCRIPT LANGUAGE="JavaScript">
<!--
function check(v){
if(/^[0-9]{6}$/.test(v)){
var prev=-1,r=0;
v.replace(/(\d{1})/g,function($,$1,i){
if(parseInt(prev)+1==$1)r++
prev=$1
})
if(r==v.length-1)alert('数字不能连续')
else alert('ok');
return;
}
alert('必需为数字!且长度为6');
}
//-->
</SCRIPT>

<input type="text" id="aaaa"/><input type="button" value="check" onclick="check(document.getElementById('aaaa').value)"/>
wcwtitxu 2010-01-13
  • 打赏
  • 举报
回复

function test(s) {
if (!/^\d{6}$/.test(s)) return false; // 不是6位数字
if (/^(\d)\1+$/.test(s)) return false; // 全一样

var str = s.replace(/\d/g, function($0, pos) {
return parseInt($0)-pos;
});
if (/^(\d)\1+$/.test(str)) return false; // 顺增

str = s.replace(/\d/g, function($0, pos) {
return parseInt($0)+pos;
});
if (/^(\d)\1+$/.test(str)) return false; // 顺减
return true;
}
antony1029 2010-01-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bird_fro 的回复:]
var str = document.getElementById("sentence").value;
var flag = true;
for (i = 0; i < str.length - 1; i++) {
if (str.charAt(i) != str.charAt(i + 1)) {
flag = false;
break;
}
}
if (flag == true) {
alert("error");
} else {
alert("right");
}
[/Quote]
UP
2010-01-13
  • 打赏
  • 举报
回复

function check(str){
var f = parseInt(str.charAt(0));
return /\d{6}/.test(str) && (/^(\d)\1{5}$/.test(str) || str == str.replace(/\d/g, function(v, i){return f+i;}));
}
var str = "Z123456", str2 = "111111", str3="123457";
alert(check(str));
alert(check(str2));
alert(check(str3));
ggwk 2010-01-13
  • 打赏
  • 举报
回复
var r = new RegExp(/\d{6}/);
var s ='123456';
var a = s.match(/\d/g);
var is = false;
if(!r.test(s))
{
alert('格式错误!');
}else
{
for(var i=0,len=a.length-1;i<len;i++){
if(parseInt(a[i])+1!=a[i+1])
{
is = true;
break;
}
}
if(!is)
alert('不能连续!');
}
Bird_fro 2010-01-13
  • 打赏
  • 举报
回复
if (str.search("[0-9]{6}") == -1) {
return;
}
这个加上判断是不是6位的数字
Bird_fro 2010-01-13
  • 打赏
  • 举报
回复
楼主看看行不
Bird_fro 2010-01-13
  • 打赏
  • 举报
回复
var str = document.getElementById("sentence").value;
var flag = true;
for (i = 0; i < str.length - 1; i++) {
if (str.charAt(i) != str.charAt(i + 1)) {
flag = false;
break;
}
}
if (flag == true) {
alert("error");
} else {
alert("right");
}
David8631 2010-01-13
  • 打赏
  • 举报
回复
你这个正则不行!请测试一下!
kathy_love150 2010-01-13
  • 打赏
  • 举报
回复
用正则不更简单吗 "^\\d{6}$"

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧