用于HTML5表单字段验证的合法正则表达式

时间:2013-12-15 03:05:45

标签: regex html5 validation

以下是正则表达式:

  1. url:/\b(http|https|ftp):\/\/([-A-Z0-9.]+)(\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?(\?[A-Z0-9+&@#\/%=~_|!:,.;]*)?/i
  2. 电子邮件:/\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}\b/i
  3. 我在输入中使用它们:

      <section id='email-txt' class='flex-column'>
        <label id='address' for='emailTxt'>Address</label>
        <input id=emailTxt
               type='email'
               value='{{webContact.homeEmail}}'
               pattern=/\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}\b/i>
    
      </section>
    
    
      <section id='col2' class='flex-column'>
        <label id='type' for='webPageUrl'>Type</label>
        <input id=webPageUrl
               type='url'
               value='{{webContact.homeEmail}}'
               placeholder='http://microsoft.com'
               required
               pattern=/\b(http|https|ftp):\/\/([-A-Z0-9.]+)(\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?(\?[A-Z0-9+&@#\/%=~_|!:,.;]*)?/i>
      </section>
    

    表格,但验证总是不正确的。

    由于

1 个答案:

答案 0 :(得分:1)

单词边界\b与您的情况无关。如果您输入字段验证,请尝试使用^$的正则表达式:

<强> URL:

/^(http|https|ftp):\/\/([-A-Z0-9.]+)(\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?(\?[A-Z0-9+&@#\/%=~_|!:,.;]*)?$/i

电子邮件:

/^[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}$/i