亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

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

    下面給大家介紹下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-Zd,.,。]+/ 

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

    總結

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

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號