簡體   English   中英

正則表達式:HTML表單驗證中的是否/其他條件

[英]Regex: If/Else Condition in HTML Form Validation

我正努力在正則表達式中創建If / Else語句,以便a)驗證電話號碼格式,然后b)使一組特定的電話號碼無效。

我目前有:

<input type="tel" name="mobilePhone" pattern="^(?:\+?61|0)4 ?(?:(?:[01] ?[0-9]|2 ?[0-57-9]|3 ?[1-9]|4 ?[7-9]|5 ?[018]) ?[0-9]|3 ?0 ?[0-5])(?: ?[0-9]){5}$">

作為定位以下電話號碼格式(澳大利亞的手機號碼)的一種方式:

0414570776 0414 570 776 0414570776

但是,我們有很多0411 111 1110400000000用戶條目,我希望在提交之前先嘗試將其清除,但我似乎無法正確理解。

我想使一系列數字無效,但對於此示例,這兩個就足夠了: 0411 111 1110400000000

任何幫助將不勝感激。

謝謝

 var re = /^\\s*\\+?04(\\d)(?!\\1\\s*\\1{3}\\s*\\1{3})\\d\\s*\\d{3}\\s*\\d{3}\\s*$/; console.log(re.test('0411111111') ? 'pass' : 'fail', '"0411111111"'); console.log(re.test('0411 111 111') ? 'pass' : 'fail', '"0411 111 111"'); console.log(re.test('0400 000 000') ? 'pass' : 'fail', '"0400 000 000"'); console.log(re.test('0412345678') ? 'pass' : 'fail', '"0412345678"'); console.log(re.test('0412 345 678') ? 'pass' : 'fail', '0412 345 678'); console.log(re.test('+0412345678') ? 'pass' : 'fail', '"+0412345678"'); console.log(re.test('+0412 345 678') ? 'pass' : 'fail', '"+0412 345 678"'); console.log(re.test('0412 345 678') ? 'pass' : 'fail', '"0412 345 678"'); console.log(re.test('+0412 345 678') ? 'pass' : 'fail', '"+0412 345 678"'); console.log(re.test(' +0412 345 678 ') ? 'pass' : 'fail', '" +0412 345 678 "'); 
 <!DOCTYPE> <html> <head></head> <body> <form> <input type='tel' name='mobilePhone' pattern='^\\s*\\+?04(\\d)(?!\\1\\s*\\1{3}\\s*\\1{3})\\d\\s*\\d{3}\\s*\\d{3}\\s*$' placeholder='enter phone number'> <input type='submit'> </form> </body> </html> 

說明

  • ^\\s* -以零個或多個空白字符開頭
  • \\+? -隨后是可選的+
  • 04隨后是文字04
  • (\\d) -后跟一位數字(組1)
  • (?!...) - 不關注

    • \\1組1的值
    • \\s* -后跟零個或多個空格字符
    • \\1{3} -隨后出現3組1的值
    • \\s* -后跟零個或多個空格字符
    • \\1{3} -隨后出現3組1的值
  • \\d后跟一位數字

  • \\s* -后跟零個或多個空格字符
  • \\d{3} -隨后出現3組1的值
  • \\s* -后跟零個或多個空格字符
  • \\d{3} -隨后出現3組1的值
  • \\s*$ -以零個或多個空白字符結尾

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM