溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JS正則表達式的用法要求

發(fā)布時間:2021-09-04 17:27:47 來源:億速云 閱讀:140 作者:chen 欄目:互聯(lián)網(wǎng)科技

這篇文章主要講解了“JS正則表達式的用法要求”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JS正則表達式的用法要求”吧!

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

js正則表達式要求:

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

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

正則表達式如下:

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

解釋:

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

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

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

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

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

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

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

/\d(?=a)(?=.b)/.exec( 'abc2abc' ),當然這是為了演示它的規(guī)則,其實可以這樣寫/\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 正則表達式 匹配除漢字,字母,數(shù)字,逗號,句號外的特殊字符(用來規(guī)范輸入內容)

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

其中\(zhòng)u4e00-\u9fa5匹配漢字,a-zA-Z匹配字母,\d匹配數(shù)字,,.,。匹配逗號和句號,^表示非,+表示盡可能多的匹配。

感謝各位的閱讀,以上就是“JS正則表達式的用法要求”的內容了,經(jīng)過本文的學習后,相信大家對JS正則表達式的用法要求這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

js
AI