首页 新闻 会员 周边 捐助

C#验证问题

0
悬赏园豆:100 [已解决问题] 解决于 2017-07-26 11:24

验证密码中任意两个字符是否包含键盘排序相邻(横向的)的值,比如q后面不能跟w,w后面不能跟e.....a后面不能跟s......z后面不能跟x....n后面不能跟m,怎么验证啊,麻烦给下代码!!!

绝品骚年的主页 绝品骚年 | 初学一级 | 园豆:64
提问于:2017-07-25 15:37
< >
分享
最佳答案
0
 1             //键盘字母表
 2             string zm= "qwertyuiopasdfghjklzxcvbnm";
 3 
 4             //已经输入的字母
 5             var pwd = "qweqwrtruyrtuasdf";
 6 
 7             for (int i = 0; i < pwd.Length-1; i++)
 8             {
 9                 //截取pwd后 用来判断是否相邻的字符  
10                 var str = pwd.Substring(i, 2);
11                 //如果存在
12                 if (zm.Contains(str))
13                 {
14                     Console.WriteLine("有相邻的密码,在第:{0}和{1}位字符",i+1,i+2);
15                 }
16             }
收获园豆:85
JoyQY | 初学一级 |园豆:164 | 2017-07-25 17:41

var pwd = "qweqwrtruyrtuasdfa".ToLower();

统一大小写,这样就能实现了

夏一跳 | 园豆:10 (初学一级) | 2017-07-26 11:20
其他回答(4)
0

未知所云~

花飘水流兮 | 园豆:13615 (专家六级) | 2017-07-25 15:54
0

键盘有3行.你就定义3个字符数组.循环判断.

收获园豆:5
吴瑞祥 | 园豆:29449 (高人七级) | 2017-07-25 16:04
0
var codes = "qwertyuiopasdfghjklzxcvbnm";
            var pwd = "fg000023233";
            if (pwd.Length < 2)
            {
                return;
            }
            for (int i = 0; i < pwd.Length - 1; i++)
            {
                var words = string.Concat(pwd[i], pwd[i + 1]);
                if (codes.Contains(words.ToLower()))
                {
                    Console.WriteLine("无效的字符:{0}", words);
                    break;
                }
            }
            Console.ReadLine();
收获园豆:10
Hoze | 园豆:196 (初学一级) | 2017-07-25 17:40

 和我想的一样 哈哈

支持(0) 反对(0) JoyQY | 园豆:164 (初学一级) | 2017-07-25 17:46
0

请问你是想用什么语句写验证呢?用c#还是其他呢?

金琥 | 园豆:2605 (老鸟四级) | 2017-07-26 10:45

C#,已经写好了,谢谢

支持(0) 反对(0) 绝品骚年 | 园豆:64 (初学一级) | 2017-07-26 11:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册