我試圖使用angular的ng模式屬性來強制輸入框中的文本匹配特定的正則表達式。我正在做這個表單驗證。我使用的輸入是手機領域。電話字段可以接受10位數的電話號碼,但我不想要求我的用戶使用特定的格式,除非它必須包含某個地方的10位數字。所以這些都是有效的。正則表達式匹配字符串中任意位置的一定數量的數字
- 555-555-5555
- (555)555-5555
在後端,我只想刪除所有格式和存儲原始數字。在過去,我所做的是刪除所有非數字字符,然後確保長度== 10.它足夠簡單,可以在幾行代碼中完成,但它是正則表達式可以處理的東西?這不是我曾經嘗試過的一個正則表達式。我不想支持特定的格式,因爲我不在乎他們是否意外地輸入了額外的空間,或者他們是否想要鍵入他們的電話號碼,如下所示:55-55-55-55-55。對我來說真的沒有關係,我只是想要正則表達式匹配,如果有10個數字並且不在字符串中的某處。
感謝您的幫助!
['^(?:\ D * \ d){10} \ D * $'](https://regex101.com/r/dR0kS6/1)? –
爲什麼你不允許只允許數字,然後應用一致的格式,例如在[kendo UI masked textbox](http://demos.telerik.com/kendo-ui/maskedtextbox/index)示例中。通過這種方式,用戶不必應用格式化,而且您始終可以確切知道您將接收的格式。 – War10ck
對於@ stribizhev的方法,我認爲['(\ d \ D *?){10}'](https://regex101.com/r/nE7pE1/1)更好。 – Shadowen