簡體   English   中英

正則表達式允許數字和數字驗證模式

[英]Regular expression allow numbers and digits validation pattern

我正在嘗試使用 javascript 根據正則表達式模式檢查表單輸入是否有效。

表單輸入應如下所示: xxxx-xxx-xxxx 允許數字和字母

現在它只適用於數字,因為我已經設置了它,現在它也被更改為允許字母。 有沒有辦法改變正則表達式我必須允許數字和字母並且仍然按原樣格式化?

4 個字母或數字 A DASH 3 個字母或數字 A DASH 4 個字母或數字

validation rule
  medNumber: [
          {
            required: true,
            pattern: /^\d{4}?[- ]?\d{3}[- ]?\d{4}$/,
            message: "Please enter your #.",
            trigger: ["submit", "change", "blur"]
          }
        ],

[A-Za-z0-9]將僅匹配字母數字字符。

/^[A-Za-z0-9]{4}?[-]?[A-Za-z0-9]{3}[-]?[A-Za-z0-9]{4}$/

我還刪除了[- ]實例中的空格,因為這將允許匹配,例如

xxxx xxx xxxx

在您的規范中,您提到需要破折號,而不是空格。

規則\d只允許數字。 因此,您需要將每次出現的 this 更改為\w ,它允許任何字母數字字符(字母和數字)。 所以你會得到以下信息:

/^\w{4}?[- ]?\w{3}[- ]?\w{4}$/

為了將來參考,我建議查看regexone.com 它幫助我學習了所有的正則表達式規則。 您還可以使用regex101.com輕松測試正則表達式模式。

編輯:
我可能在這方面有點太快了。 正如評論中提到的@David, \w還包括下划線。 如果你不想那樣,你應該看看他的答案:)

暫無
暫無

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

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