国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > regex > 正文

JS正則表達式必須包含數字、字母、特殊字符

2020-01-20 21:33:59
字體:
來源:轉載
供稿:網友

下面給大家介紹下JS正則表達式 必須包含數字、字母、特殊字符

js正則表達式要求:

1. 必須包含數字、英文字母、特殊符號且大于等于8位

2. 特殊符號包括: ~!@#$%^&*

正則表達式如下:

/^(?=.*/d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[/da-zA-Z~!@#$%^&*]{8,}$/

解釋:

這里主要用到了js正則表式中的正向前瞻 ?=,舉個例子

//d/.exec( 'abc2abc' ) 匹配結果為2,釋義:匹配一個數字

//d(?=a)/.exec( 'abc2abc' ) 匹配結果為2,釋義:匹配一個數字,但是這個數字后面必須跟著字母a

//d(?=a)/.exec( 'abc2bc' ) 匹配結果為null

由此可以看出,?= 匹配結果中不包含它所匹配的字符,但是待匹配字符串必須符合它所對應的規則

當有多個正向前瞻規則時它們是并列的,不是串行的,比如

//d(?=a)(?=b)/.exec( 'abc2abc' ) 匹配結果為null,那如果想匹配一個數字,后面必須跟著字母a和b可以這樣寫

//d(?=a)(?=.b)/.exec( 'abc2abc' ),當然這是為了演示它的規則,其實可以這樣寫//d(?=ab)/.exec( 'abc2abc' )

對于/^(?=.*/d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[/da-zA-Z~!@#$%^&*]{8,}$/

其實整個正則表示可以分為三部分:

/^(?=.*/d)[/da-zA-Z~!@#$%^&*]{8,}$/  /^(?=.*[a-zA-Z])[/da-zA-Z~!@#$%^&*]{8,}$//^(?=.*[~!@#$%^&*])[/da-zA-Z~!@#$%^&*]{8,}$/

待匹配字符串必須同時符合這三部分才可以

知識點擴展:

js 正則表達式 匹配除漢字,字母,數字,逗號,句號外的特殊字符(用來規范輸入內容)

/[^/u4e00-/u9fa5a-zA-Z/d,/.,。]+/ 

其中/u4e00-/u9fa5匹配漢字,a-zA-Z匹配字母,/d匹配數字,,.,。匹配逗號和句號,^表示非,+表示盡可能多的匹配。

總結

以上所述是小編給大家介紹的JS正則表達式必須包含數字、字母、特殊字符,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武夷山市| 青冈县| 岳普湖县| 枝江市| 惠来县| 九龙县| 凤翔县| 汉寿县| 苍山县| 安国市| 上蔡县| 彭阳县| 景泰县| 唐海县| 淮北市| 信宜市| 定边县| 修文县| 铜梁县| 十堰市| 长治市| 夏河县| 岳普湖县| 木兰县| 集安市| 抚州市| 合作市| 广丰县| 鹤庆县| 奉节县| 荣昌县| 雅安市| 原阳县| 扎囊县| 湟源县| 德化县| 扎兰屯市| 通道| 巴彦淖尔市| 河东区| 武宣县|