簡單密碼驗證(java)
2018/2/3
java
要求
1.使用者名稱最多25個字元,不能包含空格,單雙引號,問號等特殊符號
2.密碼要6到18位,只能包含字母數字,特殊符號
注意判斷密碼強度:
1.只為純數字純字母為2星
2.為字母加數字,字母加符號,符號加數字為4星
3.三者都有為6星
package package1; /*使用者類,設計使用者的使用者名稱,密碼*/ public class User { private String userName; private String passWord; public User(String userName,String Password,String email) { setUserName(userName); setPassWord(Password); } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } } package package1; import java.util.Scanner; public class userMain { public static void main(String[] args) /*實現使用者註冊*/ { /*初始化*/ Scanner input=new Scanner(System.in); System.out.println("請輸入使用者名稱"); String userName=input.next(); System.out.println(stringutil.isCorrectUserName(userName)); System.out.println("請輸入密碼"); String password=input.next(); System.out.println(stringutil.vaildatePassword(password)); } } package package1; /*字串的工具類,用於封裝對字串判斷的方法*/ public class stringutil { //1.使用者名稱最多25個字元,不能包含空格,單雙引號,問號等特殊符號 public static boolean isCorrectUserName(String userName) { boolean isCorrect=true; if(userName==null) return false; if(userName.length()>25) return false; /*定義非法的字元陣列,單引號要用\'表示*/ char[] unvaildChar= {' ','\'','"','?','*','~',','}; for(char ch:unvaildChar) { if(userName.contains(Character.toString(ch))) { System.out.println("存在非法字元"); isCorrect=false; break; } } System.out.println("賬號輸入正確"); return isCorrect; } /*2.密碼要6到18位,只能包含字母數字,特殊符號 * 純數字,純字母時,密碼強度為弱 * 數字加字母,數字加符號,字母加符號時,密碼強度為中 *數字加字母加符號時,密碼強度為強 */ public static String vaildatePassword(String password) { /*密碼強度*/ String power=""; if(password==null) return power; if(password.length()<6||password.length()>18) return power; /*合法的組成部分*/ //String[]collectPart= {"_","@","&","#","$","."}; String part="@&#$,."; for(int i=0;i<password.length();i++) { /*如果不為字母和數字*/ if(!(Character.isLetterOrDigit(password.charAt(i)))) { if(!(part.contains(Character.toString(password.charAt(i))))) { System.out.println("密碼不合法"); return power; } } } /*純數字或純字母*/ if(isDigit(password)||isletter(password)) { System.out.print("密碼強度為"); power="★★☆☆☆☆"; } else if(isDigitAndLetter(password)) { System.out.print("密碼強度為"); power="★★★★☆☆"; } else if(isContainssymble(password)) { System.out.println("密碼強度為"); power="★★★★★★"; } /*字串中包含合法的字母和數字*/ return power; } /*判斷密碼強度*/ /*判斷字串是不是純數字*/ private static boolean isDigit(String value) { for(int i=0;i<value.length();i++) { if(!Character.isDigit(value.charAt(i))) { return false; } } return true; } /*判斷字串是不是純字母*/ private static boolean isletter(String value) { for(int i=0;i<value.length();i++) { if(!Character.isLetter(value.charAt(i))) { return false; } } return true; } /*有沒有包含特殊符號*/ private static boolean isContainssymble(String value) { String part="@&#$,."; for (int i = 0; i < value.length();i++) { if(part.contains(Character.toString(value.charAt(i)))) { return true; } } return false; } /*是否包含數字和字母*/ private static boolean isDigitAndLetter(String value) { for(int i=0;i<value.length();i++) { if(!(Character.isLetterOrDigit(value.charAt(i)))) { return false; } } return true; } /*是否包含數字字母和特殊符號*/ }
相關推薦
簡單密碼驗證(java)
2018/2/3 java 要求 1.使用者名稱最多25個字元,不能包含空格,單雙引號,問號等特殊符號 2.密碼要6到18位,只能包含字母數字,特殊符號 注意判斷密碼強度: 1.只為純數字純字母為2星 2.為字母加數字,字母加符號,符號加數字為4星 3.三者都有為
18位身份證驗證(Java)加入身份證輸入驗證是否滿足18位程式碼(修訂稿)
package day20181016;/** * 身份證的驗證 34052419800101001X * */import java.util.Scanner;public class ZuoYe04 { public static void main(String[] args) { Scanner in
18位身份證驗證(Java)
我的程式碼: package day20181016;/** * 身份證的驗證 34052419800101001X * */import java.util.Scanner;public class ZuoYe04 { public static void main(String[] args) {
簡單支付驗證(SPV)與創新
“比特幣挖礦越來越難了怎麼辦?”,“比特幣存在的缺陷是否會造成自身的消亡呢?”,“比特幣是否是一個註定失敗的實驗?”,人們對比特幣的疑問有很多很多,甚至很多還有點悲觀。作為一個軟體程式,穩定執行這麼多年已經是一個奇蹟,然而我們也不得不承認它有一些不完美的地方。但是,事物都是在發展中的,我們一樣也應以發展的眼光
微信開發(2):微信js sdk分享朋友圈,朋友,獲取config介面注入許可權驗證(java)
進行微信開發已經一陣子了,從最初的什麼也不懂,到微信授權登入,分享,更改底部選單,素材管理,等。 今天記錄一下微信jssdk 的分享給朋友的功能,獲取config介面注入。 官方文件走一下 簡單說:四步走 1.繫結域名 (注意:設定js安全域名的時候,需
selenium測試(Java)-- 驗證信息(八)
shc imp tle java style code spa aid pack package com.test.validationinfor; import org.openqa.selenium.WebDriver; import org.openqa.sele
(java)selenium webdriver學習---實現簡單的翻頁,將頁面內容的標題和標題鏈接取出
prop imp current inter 並且 常見問題 activity num div selenium webdriver學習---實現簡單的翻頁,將頁面內容的標題和標題鏈接取出; 該情況適合能能循環page=1~n,並且每個網頁隨著循環可以打開的情況, 註意一定
簡單易用的參數校驗北京PK10平臺出租和版本校驗方式(java)
else runtime boot java pri conf utils 短信 con 步驟是:配置數據校驗規則(多條)>>>>在控制器上添加校驗註解>>>>使用攔截器攔截校驗參數(獲取註解,初始化校驗規則(第一次),取出參
MQTT簡單demo(java)
停用 隊列 設置 msg 的區別 多個 指定 throwable ica 上次已經簡單的談了一些MQTT協議的一些知識,今天就來就上次的知識具體的Java實現。 現在就來具體說說實現這一步吧。中間的時間也是有點久。 MQTT消息的發送和訂閱都是依賴MQTT服務器
(java)leetcode804 唯一摩爾斯密碼詞(Unique Morse Code Words)
題目描述: 國際摩爾斯密碼定義一種標準編碼方式,將每個字母對應於一個由一系列點和短線組成的字串, 比如: "a" 對應 ".-", "b" 對應 "-...", "c" 對應 "-.-.",
大話設計模式之簡單工廠模式(Java版)
大話設計模式——第一章(簡單工廠模式) 題目:請用C++、Java、C#或VB.NET任意一種面嚮物件語言實現一個計算器控制檯程式,要求輸入兩個數和運算子號,得到結果。 import java.io.Console; import java.util.Scanner; /**
Mybatis的簡單使用步驟(java專案)
1、在eclipse中建立mavenjava專案(jar),並初始化依賴,放入log4j的配置檔案 pom檔案如下(一個是Mybatis必須的,一個是log4j的日誌) <project xmlns="http://maven.apache.org/POM/4.0.0" xm
三維裝箱問題Java程式碼的簡單實現過程(程式碼)
兩年前發了篇關於三維裝箱的日記,許諾過要分享程式碼的,結果一直沒發,後來居然忘記了。一直有人加我QQ來的,這幾年都用微信了,直到最近才發現這個問題, 千萬不要輕易許諾別人什麼,否則事後真的很難兌現,兩年前的欠下的程式碼,今天,還了罷。為了我寫了好久的,腦力不夠了,空
JAVA 資料庫密碼加密(MD5)
文章出處:http://xxiao0359.blog.163.com/blog/static/979413752010109045701/ import java.security.MessageDigest; public class Password&nbs
(Java)IDEA 建立一個簡單的 “Hello world”
早就聽說 IDEA 好用,今天晚上終於下載下來了, 下載---安裝--破解 一氣呵成~ 起飛的地址看下面,這哥們的部落格也很帥~ https://www.cnblogs.com/jajian/p/79890
簡單的折半查詢演算法(Java)
折半查詢的優點是能夠最大減少查詢的時間複雜度,但也對查詢的目標陣列或集合提出一定要求,即陣列或集合中的數字排序必須是有序的,否則不能用折半查詢,只能用遍歷。以下是簡單的折半查詢演算法: public class test { public static void main
php-laravel框架使用者驗證(Auth)模組解析(四)忘記密碼
一、忘記密碼模組路由 路由名稱 請求方式 方法實現 /login GET 登入頁面 /login POST 實現登入功能 /logout POST
圖形驗證碼的實現(java)
前言 圖形驗證碼在我們日常生活中是很常見的,一般用於登入頁面來避免簡單的網路機器人來不斷地請求你的資料。以前總是覺得這個很神奇,總以為是先自己做好一張張的靜態圖片然後切換即可。當時也存在個疑問,如果是這樣,那豈不是會重複?知道後來看到同事寫的程式碼才知道具體的實現過程。 實現過程 做法簡述
ueditor富文字編輯器java使用及最簡單的配置(ssh)
之前用過ueditor,結果這兩天要用又忘了怎麼用了,寫個文件記錄下來 1. UEditor簡介 UEditor是由百度web前端研發部開發所見即所得富文字web編輯器,具有輕量,可定製,注重使用者體驗等特點,開源基於MIT協議,允許自由使
用python實現二叉搜尋樹/查詢樹的簡單實現及驗證(判斷)(三)(棧中根序遍歷)
基於棧的中根序深度優先遍歷判斷法(天然排序,每次比上一個值大即可)。由搜尋樹的性質推得中根序深度遍歷為一個從小到大的有序序列。所以根據這一性質事情就好辦了,只要在遍歷過程中加入與前一值得比較判斷即能達到目的(複雜度O(n),推薦演算法)。程式碼如下:def midorder(