JavaScript Regular Expressions Use the

Source: Internet
Author: User

A: Encounter problems

When doing the project today, at the front desk JS to verify the ID number, has not reached the expected effect, I am monitoring text field variables,

1$scope. Watch (' Form.idno ',function(v) {2     if(!v) {3         return;4     }5     varReg =/^ (\d{17}[0-9xx]{1}) | (\d{15}) $/6     if(v &&!)Reg.test (v)) {7Model.alert ("The entered ID number format is wrong! ");8$scope. Form.idno =NULL; 9     }   Ten});

At first I thought it was a regular expression with a problem, repeated changes, and access to the data, or did not identify the problem.

Finally found that watch monitoring is real-time, I enter a number, he will take this number to match the regular expression,

So not satisfied.

Workaround:

I first get the input value and then verify it at the time of submission and solve the problem.

Second: Regular expressions commonly used in JS

1. Regular expression basic syntax

Two special symbols ' ^ ' and ' $ '. Their role is to indicate the beginning and end of a string, respectively.

Examples are as follows:

"^the": denotes all strings starting with "the" ("There", "the Cat", etc.);

"Of despair$": denotes a string that ends with "of despair";

"^abc$": the Start and end are "ABC" string--hehe, only "abc" himself;

"Notice": represents any string that contains "notice".

In the last example, if you do not use two special characters, you are representing the string you are looking for in any part of the string you are looking for--and you
Do not position it on a certain top.

Others have ' * ', ' + ' and '? ' These three symbols represent the number of occurrences of a character or sequence of characters.

They mean "no or more", "one or more" and "no or one more".

Here are a few examples:

"ab*": Indicates that a string has an a followed by 0 or several B. ("A", "AB", "ABBB",...... );

"ab+": Indicates that a string has an a followed by at least one B or more;

"Ab?" : Indicates that a string has an a followed by 0 or a B;

"a?b+$": indicates that there are 0 or one a followed by one or several B at the end of the string.

You can also use ranges, enclosed in curly braces, to indicate the range of repetitions.

"Ab{2}": Indicates that a string has a followed by 2 B ("ABB");

"Ab{2,}": Indicates that a string has a followed by at least 2 B;

"ab{3,5}": Indicates that a string has a followed by 3 to 5 B.

Note that you must specify the lower bound of the range (for example: "{0,2}" instead of "{, 2}").

And, you may have noticed, ' * ', ' + ' and '? ' Equivalent to "{0,}", "{1,}" and "{0,1}".

There is also a ' ¦ ', which means "or" action:

"Hi|hello": Indicates a string with "hi" or "hello";

"(B|CD) EF": denotes "bef" or "cdef";

"(a|b) *c": Represents a String "a" "B" mixed strings followed by a "C";

‘.‘ Can replace any character:

"A.[0-9]": Indicates that a string has a "a" followed by an arbitrary character and a number;

"^. {3}$ ": A string representing any three characters (3 characters in length);

Square brackets indicate that certain characters allow a particular position in a string to appear:

"[AB]": Indicates that a string has a "a" or "B" (equivalent to "a|b");

"[A-d]": Indicates a string containing a lowercase ' a ' to ' d ' one (equivalent to "a|b|c|d" or "[ABCD]");

"^[a-za-z]": Represents a string that begins with a letter;

"[0-9]%": A number that represents a percent before a semicolon;

", [a-za-z0-9]$]: Indicates that a string ends with a comma followed by a letter or number.

You can also use ' ^ ' in square brackets to indicate unwanted characters, ' ^ ' should be the first in square brackets.

(For example: "%[^a-za-z]%" means that no letters should appear in two percent signs).

In order to express it verbatim, you must be in "^.$ () ¦*+?" {\ ' These characters are preceded by the transfer character ' \ '.

Note that in square brackets, you do not need to escape characters.

2. Regular expression validation controls the input character type of the text box

3. Application examples of regular expressions popular description

Whether the checksum is all made up of numbers

/^[0-9]{1,20}$/

^ indicates that the beginning character matches the rule immediately following the ^

$ indicates the first character to match the rule immediately preceding the $

The content in [] is an optional character set

[0-9] indicates a range of characters is required between 0-9

{1,20} indicates that the numeric string length is valid from 1 to 20, that is, the number of occurrences of the character in [0-9] is 1 to 20 times.

/^ and $/should be used to represent a rule that requires an exact match to be defined for the entire string, rather than just one substring in the string.

*******************************************************************************

Check login name: Only 5-20 entries begin with a letter, can be numbered, "_", "." The string

/^[a-za-z]{1} ([a-za-z0-9]|[. _]) {4,19}$/

^[a-za-z]{1} indicates that the first character requirement is a letter.

([a-za-z0-9]| [._]) {4,19} represents a string from 4 to 9 bits in length starting from the second bit (since it immediately follows the previous expression), and it is required to consist of uppercase and lowercase letters, numbers, or special character set [. _].

*******************************************************************************

Verify user name: Only 1-30 strings beginning with a letter can be entered

/^[a-za-z]{1,30}$/

*******************************************************************************

Check password: Only 6-20 letters, numbers, underscores can be entered

/^ (\w) {6,20}$/

\w: Used to match letters, numbers, or underscore characters

*******************************************************************************

Verify the regular phone, fax number: can be "+" or the beginning of the number, can contain "-" and ""

/^[+]{0,1} (\d) {1,3}[]? ([-]? ((\d) | []) {1,12}) +$/

\d: Used to match numbers from 0 to 9;

“?” Metacharacters stipulate that their leading objects must appear consecutively 0 or one time in the target object

Can match the string such as: +123-999 999; +123-999 999; 123 999 999; +123 999999 etc.

*******************************************************************************
Verifying URLs

/^http[s]{0,1}:\/\/.+$/or/^http[s]{0,1}:\/\/.{ 1,n}$/(indicates the length of the URL string ("https://") + N)
\/: Denotes the character "/".

. Represents the set of all characters

+ equals {1,}, 1 to infinity.

*******************************************************************************

Verifying Pure Chinese characters
/

^[\u4e00-\u9fa5]+$/

[\U4E00-\U9FA5]: estimated to be the range of Chinese character set

The above expressions are tested in the following JavaScript

4. The regular form of the use

"^\d+$"//nonnegative integer (positive integer + 0)

"^[0-9]*[1-9][0-9]*$"//Positive integer

"^ ((-\d+) | (0+)) $ "//non-positive integer (negative integer + 0)

"^-[0-9]*[1-9][0-9]*$"//Negative integer

"^-?\d+$"//Integer

"^\d+ (\.\d+)? $"//non-negative floating-point number (positive floating point + 0)

^ ([0-9]+\]. [0-9]*[1-9][0-9]*) | ([0-9]*[1-9][0-9]*\. [0-9]+) | ([0-9]*[1-9][0-9]*)) $ "//positive floating-point number

"^ ((-\d+ (\.\d+)?) | (0+ (\.0+)?)) $ "//non-positive floating-point number (negative floating-point number + 0)

^ (-([0-9]+\]. [0-9]*[1-9][0-9]*) | ([0-9]*[1-9][0-9]*\. [0-9]+) | ([0-9]*[1-9][0-9]*))) $ "//negative floating-point number

^ (-?\d+) (\.\d+)? $ "//floating-point number

"^[a-za-z]+$"//A string consisting of 26 English letters

"^[a-z]+$"//A string consisting of 26 uppercase letters in English

"^[a-z]+$"//String consisting of 26 English letters in lowercase

"^[a-za-z0-9]+$"//string consisting of a number and 26 English letters

"^\w+$"//A string consisting of numbers, 26 letters or underscores

"^[\w-]+ (\.[ \w-]+) *@[\w-]+ (\.[ \w-]+) +$ "//email address

"^[a-za-z]+://(\w+ (-\w+) *) (\. ( \w+ (-\w+) *) * (\?\s*)? $ "//url

/^ (D{2}|d{4})-((0 ([1-9]{1})) | ( 1[1|2])-(([0-2] ([1-9]{1})] | ( 3[0|1]) $///year-month-day

/^ ((0 ([1-9]{1})) | (1[1|2])) /([0-2] ([1-9]{1}) | (3[0|1])) /(D{2}|d{4}) $///month/day/year

^ ([w.] +) @ ([[[0-9]{1,3}. [0-9] {1,3}. [0-9] {1,3}.) | ([w-]+.) +)) ([a-za-z]{2,4}| [0-9] {1,3}) (]?) $ "//emil

"(d+-)?" (d{4}-?d{7}|d{3}-?d{8}|^d{7,8})     (-d+)? " Phone number

"^ (d{1,2}|1dd|2[0-4]d|25[0-5]). (D{1,2}|1dd|2[0-4]d|25[0-5]). (D{1,2}|1dd|2[0-4]d|25[0-5]). (D{1,2}|1dd|2[0-4]d|25[0-5]) $ "//IP address

^ ([0-9a-f]{2}) (-[0-9a-f]{2}) {5}$//mac address regular expression

^[-+]?\d+ (\.\d+)? $//value-type regular expression

JavaScript Regular Expressions Use the

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.