Maison > interface Web > js tutoriel > Compréhension connexe des expressions régulières

Compréhension connexe des expressions régulières

jacklove
Libérer: 2018-05-21 15:33:01
original
1677 Les gens l'ont consulté

Cet article expliquera en détail les connaissances pertinentes sur les expressions régulières.

Que sont respectivement d, w, s, [a-zA-Z0-9], b,.,*,+,?,x{3},^,$ ?

d : métacaractère, correspond à un nombre, équivalent à [0-9] (correspond à un de 0 à 9)
w : métacaractère, correspond à des lettres ou des chiffres ou des traits de soulignement ou des caractères chinois, équivalent à [ 0-9a-zA-Z_];
s : métacaractère, correspond à n'importe quel caractère d'espacement ;
[a-zA-Z0-9] : [] spécifie une plage, correspondant à l'un d'eux, l'exemple correspond à l'un des a-z/A-Z/0-9, qui équivaut à w (sauf les caractères chinois) ;
b : métacaractère, correspond au début ou à la fin d'un mot (limite du mot) :

var a= "bonjour helloworld";var reg = /bhellob/;
a.match(reg);//Le résultat est "hello";

. : Métacaractères, correspondant sauf les nouvelles lignes Tous les caractères sauf les caractères ;
* : qualificatif, répété 0 fois ou plus
+ : qualificatif, répété 1 ou plusieurs fois, au moins 1 fois
? : Qualificateur, répété 0 ou 1 fois ;
x{3} : Qualificateur, x apparaît 3 fois ({n} répété n fois ; {n,m} répété n-m fois (y compris n,m) ; { n,} est répété au moins n fois ; {,m} est répété au plus m fois
 : signifie négation dans [] ([abc] correspond à l'un des caractères abc, [abc] correspond à n'importe quel caractère sauf abc) ; , il peut correspondre au début de la chaîne ;
$ : correspond à la fin de la chaîne ; (^hello& : correspond à une chaîne commençant par bonjour et se terminant par bonjour)

Écrire une fonction trim(str) , Supprimez les caractères vides des deux côtés de la chaîne

function trim(str) {    return str.replace(/^\s+|\s+$/g,'') //匹配开头或结尾的空白字符,替换成'';
 }
Copier après la connexion

Écrivez une fonction isEmail(str) pour déterminer si la saisie de l'utilisateur est une adresse e-mail

function isEmail(str) {    var reg = /^[a-zA-Z\d_]+\@[a-zA-Z\d]+\.[a-zA-Z\d]+$/g;    return reg.test(str);
 }
Copier après la connexion

Écrivez une fonction isPhoneNum (str) pour déterminer si l'utilisateur est le numéro de téléphone mobile saisi

function isPhoneNum(str) {    var reg = /^1[3578]\d{9}$/g;    return reg.test(str);
}
Copier après la connexion

Écrivez une fonction isValidUsername(str) pour déterminer si l'utilisateur a saisi un nom d'utilisateur légal (longueur 6 à 20 caractères, ne peut inclure que des lettres , chiffres et traits de soulignement)

function isValidUsername(str) {    var reg = /^([a-zA-Z\d_]){6,20}$/g;    return reg.test(str);
}
Copier après la connexion

Écrivez une fonction isValidPassword(str) pour déterminer si l'utilisateur saisit un mot de passe légal (6 à 20 caractères, comprenant uniquement les lettres majuscules, les lettres minuscules, les chiffres et des traits de soulignement, et au moins deux)

function isValidPassword(str) {    if (/^[a-zA-Z0-9_]{6,20}$/g.test(str)) {        if (/^[a-z]{6,20}$/g.test(str) || /^[A-Z]{6,20}$/g.test(str) || /^[0-9]{6,20}$/g.test(str) || /^[_]{6,20}$/g.test(str)) {            return false;
        }else {            return true;
        }
    }else {        return false;
    }
}
Copier après la connexion

Écrivez une expression régulière pour obtenir toutes les couleurs de la chaîne suivante

var re = /*正则...*/var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee "console.log( subj.match(re) )  // ['#121212', '#AA00ef']
var re = /#[a-f\d]{6}/ig;var subj = "color: #121212; background-color: #AA00ef; width: 12px; bad-colors: f#fddee";console.log( subj.match(re) )
Copier après la connexion

Que produit le code suivant Pourquoi ? pour qu'il génère [""hunger "", ""world""]

var str = 'hello  "hunger" , hello "world"';var pat =  /".*"/g;
str.match(pat);
//输出[""hunger" , hello "world""];
Copier après la connexion

//L'expression régulière est en mode gourmand par défaut et correspondra à autant de correspondances que possible si les conditions sont remplies < ; 🎜>//Réécrire le code

var str = &#39;hello  "hunger" , hello "world"&#39;;
var pat =  /".*?"/g;  //添加?改成非贪婪模式,尽可能少的匹配;
str.match(pat); //[""hunger"", ""world""]
Copier après la connexion
Cet article fournit des explications pertinentes sur les expressions régulières Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois.


Recommandations associées :

Utilisation de ceci en Javascript

Lié aux mathématiques, aux tableaux, aux exemples de dates

Explication des connaissances liées au HTML5/CSS3

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal