Javascript 数字、破折号和方括号的正则表达式验证

Javascript 数字、破折号和方括号的正则表达式验证,javascript,jquery,regex,validation,Javascript,Jquery,Regex,Validation,我需要使用jquery/javascript正则表达式验证来验证以下格式 这是在java正则表达式中使用以下代码完成的: "(\\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

我需要使用jquery/javascript正则表达式验证来验证以下格式

这是在java正则表达式中使用以下代码完成的:

"(\\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对象文字,这意味着您不需要转义反斜杠字符。可以通过用两个正斜杠字符包围正则表达式来创建正则表达式对象文字:

原始正则表达式:

"(\\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
另一种方法是采用字符串形式的原始正则表达式并将其传递到正则表达式构造函数中,但这仅建议用于动态正则表达式而不是静态正则表达式:

var myRegex = new RegExp('(\\d{1,2})?\\s?\\[\\d{3}\\]\\s?\\d{4}-?\\d{4}');
您还可以选择将第二个参数传递到此构造函数,该构造函数接受一个标志字符串


可以找到有关创建和使用RegExp对象的更多文档。

JavaScript使用实际的RegExp,而不是字符串形式的RegExp。可以使用RegExp类将其转换为正则表达式:

正则表达式现在保存您的正则表达式。使用此选项,您可以在不必修改的情况下将正则表达式交换回和第四个正则表达式。Javascript还支持前端带有/的RegEx和end

var regex = /(?:This\sIs\sMy\sRegex)/flags;

那么问题是什么呢正则表达式可以用javascript/jqueryOk来验证,实际上现在我需要的是在客户端而不是java正则表达式进行验证。您可以使用/^\d{1,2}?\s?\[\d{3}\]\s?\d{4}-?\d{4}$/或新的正则表达式^\\d{1,2}\\s?\[\\d{3}\\\\\\\\\s?\\d{4}-\\d{Gr8。。!这对所有样品都适用。你也可以用你的评论来回答这个问题。非常感谢。我感谢你的帮助,你节省了我的时间。。!
var regex = /(?:This\sIs\sMy\sRegex)/flags;