Ⅰ 寫一個java正則表達式,判斷輸入的密碼強度,是數字弱,是字母較弱,數字加字母強,用\s寫
importjava.util.Scanner;
publicclassJButtonTest
{
publicstaticvoidmain(String[]args)
{
Scannerscanner=newScanner(System.in);
System.out.println("寫一個java正則表達式,判斷輸入的密碼強度,是數字弱搜索,是字母較弱,數字加字母強:");
while(scanner.hasNextLine())
{
Stringline=scanner.nextLine();
if(line.matches("^\d+$"))
{
System.out.println("數字弱");
}
elseif(line.matches("^[a-zA-Z]+$"))
{
System.out.println("字母弱");
}
elseif(line.matches("(?i)^((\d+[\da-z]*[a-z]+)|([a-z]+[\da-z]*\d+)|([a-z]+[\da-z]*[a-z]*)|(\d+[\da-z]*\d*))$"))
{
System.out.println("密碼強");
}
else
{
System.out.println("你不按套路出牌啊。你滴承諾尼,你滴擔架尼?");
scanner.close();
break;
}
}
}
}
Ⅱ JAVA初學:關於密碼驗證的問題
import java.awt.*;
import java.awt.event.*;
public class TestPassword {
public static void main(String[]args) {
MyTestFrame mf = new MyTestFrame("密碼輸入");
}
}
class MyTestFrame extends Frame {
Button b = new Button("確認");
TextField tf = new TextField(15);
public MyTestFrame(String str){
super(str);
tf.setEchoChar('*');
Panel p = new Panel();
p.setBackground(Color.BLACK);
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String str = tf.getText();
// System.out.println(str);
if(str.length()<8) {
System.out.println("輸入不能少於八位");
tf.setText("");
}
else {
if(str.matches("\\d*")) {
System.out.println("密碼強度低 ");
}
if(str.matches("[a-z0-9]*")){
System.out.println("密碼強度中 ");
}
if(str.matches("[a-zA-Z0-9]*")) {
System.out.println("密碼強度高");
}
}
}
});
this.setLayout(new BorderLayout());
p.add(tf);
this.add(b,BorderLayout.EAST);
this.add(p,BorderLayout.CENTER);
pack();
this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}
可費勁了 把課本又翻了一遍,正則表達式又復習了一下,gui也用上了
Ⅲ java中如何進行密碼校驗
public static void main(String[] args) {
String pass ="12345";//默認登錄密碼
boolean login=false;
int isYes=1;//聲明一個變數來保存整數值(表示你輸入密碼的次數是否版在三次以內)權
for(int i = 0;i<3;i++)
{
if(password.equals(pass))
{
login=true;
isYes=1;
break;
}
else
{
isYes=0;
}
}
if(isYes==1)//如果等於1表示在三次以內,並密碼正確
{
System.out.println("恭喜您!成功登錄!");
}
else
{
System.out.println("對不起,驗證失敗!無權進入!");
}
}
Ⅳ java密碼復雜度校驗
qaz,qwer這種都不能通過?這不算連續的吧,要實現這樣的你只能把連續版的可能性列出來,權比如[q,w,e,r,t,y,u,i,o,p]為一組,比如你的密碼包含wert四個字母,那你可以把這四個字母拆開,先使用w從數組中開始遍歷,發現w與數組中第二個元素相等,那麼再取密碼的第二個字母w與數組中的第三個元素比較,如果相等再比較下一個,滿足有三個字母對應上的就直接返回校驗不通過。
如果是要校驗0123456789和abcdefg這樣的連續的,你可以把密碼的拆分成char數組,數組每個元素轉成數值其實就是這個字元的ascii碼,然後比較相鄰的三個元素ascii碼是不是連續的就可以判斷出來,不過這種方法需要注意一點,比如'@'的ascii為64,'A'的ascii為65也是連續的,需要自己進行篩選。覺得這種方法麻煩的話也可以使用上面的方法把連續的都先列舉出來。
我只寫一下我的想法,僅供參考。
Ⅳ java編寫一個更改密碼校驗程序,有兩個密碼框,一個用於輸入新密碼,另一個請輸入確認密碼……
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JDialog;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JTextField;
importjavax.swing.WindowConstants;
{
privateJLabeljl1=newJLabel("password:");
privateJLabeljl2=newJLabel("確認密碼");
privateJTextFieldpwd1=newJTextField(18);
privateJTextFieldpwd2=newJTextField(18);
privateJButtonsure=newJButton("確定");
privateJPaneljp1=newJPanel();
publickeyPassword(){
setVisible(true);
setSize(300,150);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
jp1.add(jl1);
jp1.add(pwd1);
jp1.add(jl2);
jp1.add(pwd2);
jp1.add(sure);
sure.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
Stringstr=pwd1.getText();
Stringstr2=pwd2.getText();
if(str.equals("")||str2.equals("")){
JOptionPane.showMessageDialog(null,"不能為空");
}elseif(str.equals(str2)){
JOptionPane.showMessageDialog(null,"兩次密碼相同!");
}else{
JOptionPane.showMessageDialog(null,"兩次密碼不相同!");
}
}
});
add(jp1);
}
publicstaticvoidmain(String[]args){
newkeyPassword();
}
}
最新版本:有什麼問題可以聯系我,
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JDialog;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
importjavax.swing.WindowConstants;
{
privateJLabeljl1=newJLabel("password:");
privateJLabeljl2=newJLabel("確認密碼");
privateJPasswordFieldjpf=newJPasswordField(18);
privateJPasswordFieldjpf2=newJPasswordField(18);
privateJButtonsure=newJButton("確定");
privateJPaneljp1=newJPanel();
publickeyPassword(){
setVisible(true);
setSize(300,150);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
jp1.add(jl1);
jp1.add(jpf);
jp1.add(jl2);
jp1.add(jpf2);
jp1.add(sure);
sure.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEventarg0){
char[]str_=jpf.getPassword();
Stringstr=String.ValueOf(str_);
char[]str2_=jpf2.getPassword();
Stringstr2=String.ValueOf(str2_);
if(str.equals("")||str2.equals("")){
JOptionPane.showMessageDialog(null,"不能為空");
}elseif(str.equals(str2)){
JOptionPane.showMessageDialog(null,"兩次密碼相同!");
}else{
JOptionPane.showMessageDialog(null,"兩次密碼不相同!");
}
}
});
add(jp1);
}
publicstaticvoidmain(String[]args){
newkeyPassword();
}
}