亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

最新密碼驗證正則表達(dá)式

??? 2016-12-28 09:51:10 465
????:這篇文章主要為大家分享了最新密碼驗證正則表達(dá)式,密碼形式可以根據(jù)開發(fā)需求進(jìn)行設(shè)定,具有一定的參考價值,感興趣的小伙伴們可以參考一下正則表達(dá)式驗證密碼功能在項目中經(jīng)常被使用到,但是很多朋友還是不大會使用密碼正則表達(dá)式進(jìn)行驗證,本文小編為大家整理了php密碼驗證正則表達(dá)式、python密碼強(qiáng)度正則,當(dāng)然還有大家常用到的js正則表達(dá)式,希望大家喜歡。剛開始復(fù)習(xí)一下,什么是正則表達(dá)式?在編寫處理字符串的程

這篇文章主要為大家分享了最新密碼驗證正則表達(dá)式,密碼形式可以根據(jù)開發(fā)需求進(jìn)行設(shè)定,具有一定的參考價值,感興趣的小伙伴們可以參考一下

正則表達(dá)式驗證密碼功能在項目中經(jīng)常被使用到,但是很多朋友還是不大會使用密碼正則表達(dá)式進(jìn)行驗證,本文小編為大家整理了php密碼驗證正則表達(dá)式、python密碼強(qiáng)度正則,當(dāng)然還有大家常用到的js正則表達(dá)式,希望大家喜歡。

剛開始復(fù)習(xí)一下,什么是正則表達(dá)式?
在編寫處理字符串的程序或網(wǎng)頁時,經(jīng)常有查找符合某些復(fù)雜規(guī)則的字符串的需要。正則表達(dá)式就是用于描述這些規(guī)則的工具。換句話說,正則表達(dá)式就是記錄文本規(guī)則的代碼。

php密碼驗證正則表達(dá)式(8位長度限制)

<?php
//密碼驗證
$password = "zongzi_Abc_oo13a2";
$n = preg_match_all("/^[a-zA-Z\d_]{8,}$/",$password,$array);
//長度是8或更多
var_dump($array);
?>

   

python密碼驗證正則表達(dá)式

#encoding=utf-8
import re
def checklen(pwd):
 return len(pwd)>=8
def checkContainUpper(pwd):
 pattern = re.compile('[A-Z]+')
 match = pattern.findall(pwd)
 if match:
 return True
 else:
 return False
def checkContainNum(pwd):
 pattern = re.compile('[0-9]+')
 match = pattern.findall(pwd)
 if match:
 return True
 else:
 return False
def checkContainLower(pwd):
 pattern = re.compile('[a-z]+')
 match = pattern.findall(pwd)
 if match:
 return True
 else:
 return False
def checkSymbol(pwd):
 pattern = re.compile('([^a-z0-9A-Z])+')
 match = pattern.findall(pwd)
 if match:
 return True
 else:
 return False
def checkPassword(pwd):
 #判斷密碼長度是否合法
 lenOK=checklen(pwd)
 #判斷是否包含大寫字母
 upperOK=checkContainUpper(pwd)
 #判斷是否包含小寫字母
 lowerOK=checkContainLower(pwd)
 #判斷是否包含數(shù)字
 numOK=checkContainNum(pwd)
 #判斷是否包含符號
 symbolOK=checkSymbol(pwd)
 print(lenOK)
 print(upperOK)
 print(lowerOK)
 print(numOK)
 print(symbolOK)
 return (lenOK and upperOK and lowerOK and numOK and symbolOK)
 
def main():
 if checkPassword('Helloworld#123'):
 print('檢測通過')
 else:
 print('檢測未通過')
 
if __name__ == '__main__':
 main()

   

java密碼驗證正則表達(dá)式

/**
* @ClassName: RexTest
* @Description: TODO
* @author BMR
* @date 2016年3月28日 上午11:09:17
*/
public class RexTest {
  
 /**
 * 正則表達(dá)式驗證密碼
 * @param input
 * @return
 */
 public static boolean rexCheckPassword(String input) {
 // 6-20 位,字母、數(shù)字、字符
 //String reg = "^([A-Z]|[a-z]|[0-9]|[`-=[];,./~!@#$%^*()_+}{:?]){6,20}$";
 String regStr = "^([A-Z]|[a-z]|[0-9]|[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]){6,20}$";
 return input.matches(regStr);
 }
  
 public static void main(String[] args){
 System.out.println("rexCheckPassword is: "+ rexCheckPassword("14`~!@#$%^&*(\\)+=|{}"));
 }

   

輸出結(jié)果:

rexCheckPassword is: true

網(wǎng)友提出的問題:

正則表達(dá)式校驗密碼
1、密碼必須由數(shù)字、字符、特殊字符三種中的兩種組成;
2、密碼長度不能少于8個字符;
滿足以上兩點,應(yīng)該怎么實現(xiàn)?

(?!^\\d+$)不能全是數(shù)字
(?!^[a-zA-Z]+$)不能全是字母
(?!^[_#@]+$)不能全是符號(這里只列出了部分符號,可自己增加,有的符號可能需要轉(zhuǎn)義)
.{8,}長度不能少于8位
合起來就是
(?!^\\d+$)(?!^[a-zA-Z]+$)(?!^[_#@]+$).{8,}

完整的js正則表達(dá)式:

//強(qiáng):字母+數(shù)字+特殊字符 
 ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)(?![a-zA-z\d]+$)(?![a-zA-z!@#$%^&*]+$)(?![\d!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$
    
     
//中:字母+數(shù)字,字母+特殊字符,數(shù)字+特殊字符
     ^(?![a-zA-z]+$)(?!\d+$)(?![!@#$%^&*]+$)[a-zA-Z\d!@#$%^&*]+$
 
//弱:純數(shù)字,純字母,純特殊字符
^(?:\d+|[a-zA-Z]+|[!@#$%^&*]+)$
 
 
//校驗是否全由數(shù)字組成
 
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
 
//校驗登錄名:只能輸入5-20個以字母開頭、可帶數(shù)字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
 
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
 
 
//校驗用戶姓名:只能輸入1-30個以字母開頭的字串
Javascript代碼
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
}}
 
//校驗密碼:只能輸入6-20個字母、數(shù)字、下劃線
function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
 
//校驗普通電話、傳真號碼:可以“+”開頭,除數(shù)字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
 
//校驗手機(jī)號碼:必須以數(shù)字開頭,除數(shù)字外,可含有“-”
function isMobil(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
 
//校驗郵政編碼
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
 
//校驗搜索關(guān)鍵字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\]
 [\]\{\}:;'\,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}
 
function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

   

正則表達(dá)式

^\\d+$  //非負(fù)整數(shù)(正整數(shù) + 0)
^[0-9]*[1-9][0-9]*$  //正整數(shù)
^((-\\d+)|(0+))$  //非正整數(shù)(負(fù)整數(shù) + 0)
^-[0-9]*[1-9][0-9]*$  //負(fù)整數(shù)
^-?\\d+$    //整數(shù)
^\\d+(  //非負(fù)浮點數(shù)(正浮點數(shù) + 0)
^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 
//正浮點數(shù)
^((-\\d+(  //非正浮點數(shù)(負(fù)浮點數(shù) + 0)
^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
//負(fù)浮點數(shù)
^(-?\\d+)(  //浮點數(shù)
^[A-Za-z]+$  //由26個英文字母組成的字符串
^[A-Z]+$  //由26個英文字母的大寫組成的字符串
^[a-z]+$  //由26個英文字母的小寫組成的字符串
^[A-Za-z0-9]+$  //由數(shù)字和26個英文字母組成的字符串
^\\w+$  //由數(shù)字、26個英文字母或者下劃線組成的字符串
^[\\w-]+(    //email地址
^[a-zA-z]+://(  //url
^[A-Za-z0-9_]*$

   

匹配完整域名的正則表達(dá)式:
[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?

想系統(tǒng)學(xué)習(xí)的朋友可以繼續(xù)閱讀:正則表達(dá)式30分鐘入門教程,進(jìn)一步加深對正則表達(dá)式的認(rèn)識。

更多關(guān)于最新密碼驗證正則表達(dá)式請關(guān)注PHP中文網(wǎng)(ipnx.cn)其它文章!

??? ??

?? ??