正则表达式 匹配的字符要同时存在"()",才能返回true
高洛峰
高洛峰 2016-11-10 14:10:06
0
3
765
var re = /\(?[0-9]{3}\)?/

var str1 = '789';
console.log(re.test(str1));//返回true
var str2 = '(789)';
console.log(re.test(str2)); // 返回true


var str3 = '(788';
console.log(re.test(str3)) //返回true;
var str4 = '789)';
console.log(re.test(str4))  //返回true;

我想第3个和第4个结果返回false ,就是要'()'同时存在或不存在才能返回true,只有一个'('或')'返回flase

var re 应该怎样写?


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(3)
三叔
var re = /(\([0-9]{3}(?=\)))|(^[0-9]{3}$)/g;

console.log(re.test("789"));
console.log(re.test("(789"));
console.log(re.test("789)"));
console.log(re.test("(789)"));


いいねを押す +0
学霸

var re = /\(\d{3}\)|^(?!\()\d{3}(?!\))/

先匹配'(789)'情况,在匹配'789'


いいねを押す +0
三叔

var re = /[0-9]{3}|(([0-9]{3}))/

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート