[英]Regex validation for number, dash and square brackets
我需要使用jquery / javascript regex驗證來驗證以下格式。
它使用代碼在Java regex中完成:
"(\\d{1,2})?\\s?\\[\\d{3}\\]\\s?\\d{4}-?\\d{4}"
但現在需要在客戶端使用javascript / jquery。
以下是示例:
1) 1 [123] 1234-5678
2) 1[123] 1235-5678
3) 1[123]1236-5678
4) 1 [123]1237-5678
5) 1 [123] 12385789
6) 1[123]12341678
7) 1 [123]12345678
8) 1[123] 1234-5678
9) [123] 1234-5678
10) [123]1234-5678
11) [123]12345678
12) [123] 12345678
它是數字,方括號,破折號的基本組合,此處必須存在數字和方括號,但破折號(-)可能存在也可能不存在。
只能使用數字和方括號,不能包含其他字符
任何幫助表示贊賞。
在JS中,您可以使用RegExp對象文字,這意味着您不需要轉義反斜杠字符。 可以使用兩個正斜杠字符將regex表達式括起來來創建RegExp對象文字:
原始正則表達式:
"(\\d{1,2})?\\s?\\[\\d{3}\\]\\s?\\d{4}-?\\d{4}"
在JavaScript中為RegExp對象分配變量:
var myRegex = /(\d{1,2})?\s?\[\d{3}\]\s?\d{4}-?\d{4}/;
您要添加到正則表達式的任何標志(g,i,m,y)都應在終止正斜杠之后直接使用。 例如:
/(\d{1,2})?\s?\[\d{3}\]\s?\d{4}-?\d{4}/gm
另一種方法是將原始正則表達式轉換為字符串形式,然后將其傳遞給RegExp構造函數,但這僅建議用於動態正則表達式而不是靜態正則表達式:
var myRegex = new RegExp('(\\d{1,2})?\\s?\\[\\d{3}\\]\\s?\\d{4}-?\\d{4}');
您還可以選擇將第二個參數傳遞給此構造函數,該參數采用一串標志。
有關創建和使用RegExp對象的更多文檔,請參見此處 。
JavaScript使用實際的RegExp而不是字符串。 您可以使用RegExp
類將其設置為正則RegExp
:
var regex = new RegExp("(\\d{1,2})?\\s?\\[\\d{3}\\]\\s?\\d{4}-?\\d{4}");
regex
現在保存您的正則表達式。 使用此功能,您可以在不修改它們的情況下來回交換正則表達式。 Javascript還支持RegEx,在前端和結尾都帶有/
。
var regex = /(?:This\sIs\sMy\sRegex)/flags;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.