0
A
回答
0
怎麼樣簡單的東西: https://regex101.com/r/g6uBF4/1
^((\(\d{3}\))|(\d{3}-))\d{3}-\d{4}
只是測試單獨每種情況。括號內的3位數字(\d{3}\)
或|
3位數字,帶短劃線(\d{3}-)
。然後其餘的號碼\d{3}-\d{4}
。
0
一般而言,如果可以有無限數量的嵌套,則不能使用Javascript正則表達式來確保括號正確平衡圓括號,你需要遞歸/平衡匹配,但你的情況並不複雜。例如,你可以在你的正則表達式的開始添加negative lookahead assertion:
/^(?![^()]*[()][^()]*$)REST_OF_REGEX_HERE/
這可以確保不會有在你輸入一個左或右括號。
說明:
^ # Start of string
(?! # Assert that it's impossible to match...
[^()]* # any number of characters other than parentheses,
[()] # then a single parenthesis,
[^()]* # then any number of characters other than parentheses,
$ # then the end of the string.
) # End of lookahead
當然可能還有其他方法可以做到你需要什麼,但你並沒有告訴我們的您正在使用的匹配規則的其餘部分。
1
我的建議是自動格式的數量,同時進入它,請參閱下面
演示$(function() {
$('#us-phone-no').on('input', function() {
var value = $(this).val();
var nums = value.replace(/\D/g, '').match(/(\d{0,3})(\d{0,3})(\d{0,4})/);
var formated = !nums[2] ? nums[1] : nums[1] + '-' + nums[2] + (nums[3] ? '-' + nums[3] : '');
$(this).val(formated);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="tetx" id="us-phone-no">
相關問題
- 1. 如何在特定字符出現之前讀取字符串
- 2. Python:如何在固定字符串中的特定字符之前排除一組字符
- 3. 正則表達式排除一個字符串,如果後面跟着一個特定的字符串
- 4. Mysql刪除特殊字符後出現特定特殊字符
- 5. PHP:如何在一個字符串中刪除特定字符
- 6. 如何刪除特定字符之前的字符?
- 7. 如何在每個特定字符出現前打印10個字母?
- 8. 數出現在一個字符串排
- 9. 修剪一個字符串,直到出現特定字符
- 10. 如何前特定字符
- 11. 如何創建一個正則表達式來排除特定的字符串?
- 12. 在特殊字符前面呈現
- 13. c#:如何快速插入一個字符到任何出現的特殊字符組合前的字符串?
- 14. 如何用正則表達式排除特定字符模式
- 15. 在最後一次出現特定字符前得到字符串
- 16. 算一個字符出現的所有除了在字符串
- 17. iphone刪除下一個字符串 - 在特定字符串出現後留下字符串的其餘部分
- 18. asp經典如何在一個字符串後面帶一個字或一個字符後的特定符號@
- 19. 如何刪除第一個字符,如果它是在SQL特定的字符
- 20. 如何從字符串的開頭到字符串中的特定索引之前的字符的最後一個出現字符串的子字符串
- 21. 在特定字符前插入一個字符
- 22. 正則表達式排除不排除字符串只有第一個字符
- 23. 刪除任何第一個字符前面和後面的任何最後一個字符前面的空格
- 24. 刪除一個PHP字符串中的一組特定字符
- 25. RegExp負面向前排除字符串
- 26. 如何刪除指定字符串前的2個字符
- 27. 如何刪除特定字符後的字符串中的最後一個字
- 28. 刪除最後一次出現特定字符後的所有字符
- 29. 排除一個字在字符串
- 30. Unix的排序:按特定字符以下另一個字符
這是有效的格式111-111-1111一旦你排除括號? – Ved
是的,那是有效的格式 –