Соответствие точной строки с JavaScript - PullRequest
36 голосов
/ 15 января 2009

Как я могу проверить, соответствует ли RegEx строка точно ?

var r = /a/;
r.test("a"); // returns true
r.test("ba"); // returns true
testExact(r, "ba"); // should return false
testExact(r, "a"); // should return true

Ответы [ 4 ]

81 голосов
/ 15 января 2009

либо

var r = /^a$/

или

function matchExact(r, str) {
   var match = str.match(r);
   return match && str === match[0];
}
16 голосов
/ 15 января 2009

Напишите свое регулярное выражение по-другому:

var r = /^a$/;
r.test('a'); // true
r.test('ba'); // false
9 голосов
/ 15 января 2009

Если вы не используете никакие заполнители (как, по-видимому, подразумевается "точно"), как насчет сравнения строк вместо этого?

Если вы используете заполнители, ^ и $ соответствуют началу и концу строки соответственно.

0 голосов
/ 13 мая 2014
var data =   {"values": [
    {"name":0,"value":0.12791263050161572},
    {"name":1,"value":0.13158780927382124}
]};

//JSON to string conversion
var a = JSON.stringify(data);
// replace all name with "x"- global matching
var t = a.replace(/name/g,"x"); 
// replace exactly the value rather than all values
var d = t.replace(/"value"/g, '"y"');
// String to JSON conversion
var data = JSON.parse(d);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...