Home  >  Article  >  Web Front-end  >  Related understanding of regular expressions

Related understanding of regular expressions

jacklove
jackloveOriginal
2018-05-21 15:33:011643browse

This article will explain in detail the relevant knowledge of regular expressions.

What are \d, \w, \s, [a-zA-Z0-9], \b,.,*, ,?,x{3},^,$ respectively?

\d: Metacharacter, matches a number, equivalent to [0-9] (matches one from 0 to 9);
\w: Metacharacter, matches letters or numbers or underscores or Chinese characters, equivalent to [0-9a-zA-Z_];
\s: metacharacter, matches any whitespace character;
[a-zA-Z0-9]: [] specifies a range, Matches one of them. The example matches one of a-z/A-Z/0-9, which is equivalent to \w (except Chinese characters);
\b: metacharacter, matches the beginning or end of a word (word boundary):

var a= "hello helloworld";var reg = /\bhello\b/;
a.match(reg);//The result is "hello";

.: metacharacter, matches all characters except newlines;
*: qualifier, repeated 0 or more times;
: qualifier, repeated 1 or more times, at least 1 time;
? : Qualifier, repeated 0 or 1 times;
x{3}: Qualifier, x appears 3 times ({n} repeated n times; {n,m} repeated n-m times (including n,m); { n,} is repeated at least n times; {,m} is repeated at most m times);
: means negation in [] ([abc] matches any character in abc, [abc] matches any character except abc) ;Other times, it can match the beginning of the string;
$: Match the end of the string; (^hello&: Match the string starting with hello and ending with hello)

Write a function trim(str), Remove the blank characters on both sides of the string

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

Write a function isEmail(str) to determine whether the user input is an email address

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

Write a function isPhoneNum(str) to determine whether the user input is an email address Mobile phone number

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

Write a function isValidUsername(str) to determine whether the user input is a legal username (length 6-20 characters, can only include letters, numbers, and underscores)

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

Write a function isValidPassword(str) to determine whether the user enters a legal password (6-20 characters in length, including only uppercase letters, lowercase letters, numbers, and underscores, and at least two types)

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;
    }
}

Write a regular expression to get all the colors in the following string

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) )

What does the following code output? Why? Rewrite the code so that it outputs [""hunger"", ""world""]

var str = 'hello  "hunger" , hello "world"';var pat =  /".*"/g;
str.match(pat);
//输出[""hunger" , hello "world""];

//Regular expressions are in greedy mode by default and will match as many matches as possible if the conditions are met;
//Rewrite the code

var str = 'hello  "hunger" , hello "world"';
var pat =  /".*?"/g;  //添加?改成非贪婪模式,尽可能少的匹配;
str.match(pat); //[""hunger"", ""world""]

This article is correct Regular expressions have been explained. For more related content, please pay attention to the PHP Chinese website.

Related recommendations:

About the usage of this in Javascript

About Math, array, Date Example

HTML5/CSS3 related knowledge explanation

The above is the detailed content of Related understanding of regular expressions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn