регулярное выражение гарантирует, что строка начинается и заканчивается цифрами - PullRequest
0 голосов
/ 26 января 2020

Как написать регулярное выражение для использования в JavaScript, которое обеспечит, чтобы первый и последний символы строки всегда были цифрами?

r = /\D+/g;
var s = "l10ddd31ddd5705ddd";
var o = r.test(s);
console.log(o);

Итак, 1KJ25LP3665 вернул бы true, в то время как K12M25XC5750 вернет false.

Ответы [ 3 ]

5 голосов
/ 26 января 2020

Вы можете иметь регулярное выражение, как показано ниже:

 /^\d(.*\d)?$/
  • ^ для начала совпадения от начала строки и $ для продолжения совпадения до конца строки.
  • \d для соответствия di git в начале и в конце.
  • .* для соответствия нулю или большему числу символов между ними.
  • Мы делаем group 1 => (.*\d) необязательно с метасимволом ? для необязательного соответствия нулю или более символов, заканчивающихся на di git до конца строки. Это помогло бы, если бы в строке был только один ди git.
1 голос
/ 27 января 2020

Это решение достигает того же результата без регулярных выражений. Это также заботится о пустых строках или строках только с одним символом.

function startsAndEndsWithDigits(string) 
{
    if(string.length>0)//if string is not empty
    {
        var firstChar = string.split('')[0];//get the first charcter of the string
        var lastChar  = string.split('')[string.length -1];//get the last charcter of the string
        if(firstChar.length>0 && lastChar.length>0)
        {   //if first and last charcters are numbers, return true. Otherwise return false.
            return !isNaN(firstChar) && !isNaN(lastChar);
        } 
    } 
    return false; 
}

Пример использования:

startsAndEndsWithDigits('1KJ25LP3665'); //returns true 
startsAndEndsWithDigits('K12M25XC5750');//returns false
startsAndEndsWithDigits('');            //returns false
startsAndEndsWithDigits('a');           //returns false 
startsAndEndsWithDigits('7');           //returns true 

1 голос
/ 26 января 2020
if(s.matches("\\d.*\\d"))
{
// Do what you want once both start and ending characters are digits 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...