I. Summary of common regular expressions and solutions to some problems
Regular match:
var str = "This is my test";
var test = new RegExp ("Test", "G");//create Regular Expression object
var result = S.match (test);
alert (result);
1. Common Regular Expressions:
Regular expression set for validating numbers
Verification Number: ^[0-9]*$
To verify N-bit numbers: ^\d{n}$
Verify that at least n digits: ^\d{n,}$
Verify the number of m-n bits: ^\d{m,n}$
Verify numbers starting with 0 and non 0: ^ (0|[ 1-9][0-9]*) $
Verify that there is a positive real number with two decimal places: ^[0-9]+ (. [ 0-9]{2})? $
Verify that there is a positive real number with 1-3 decimal places: ^[0-9]+ (. [ 0-9]{1,3})? $
Verify non-zero positive integers: ^\+? [1-9] [0-9]*$
To verify a nonzero negative integer: ^\-[1-9][0-9]*$
Validates non-negative integers (positive integers + 0) ^\d+$
Validates a non-positive integer (negative integer + 0) ^ ((-\d+) | ( 0+)) $
Verify the character with a length of 3: ^. {3}$
Validates a string consisting of 26 English letters: ^[a-za-z]+$
Validates a string consisting of 26 uppercase English letters: ^[a-z]+$
Validates a string consisting of 26 lowercase English letters: ^[a-z]+$
Validates a string consisting of a number and 26 English letters: ^[a-za-z0-9]+$
Validates a string consisting of a number, 26 letters, or underscores: ^\w+$
Verify user password: ^[a-za-z]\w{5,17}$ the correct format is: Start with a letter, the length is between 6-18, and can contain only characters, numbers, and underscores.
Verify that it contains ^%& ',; =?$\ ' characters:[^%& ', =?$\x22]+
Verify Kanji: ^[\u4e00-\u9fa5],{0,}$
Verify email Address: ^\w+[-+.] \w+) *@\w+ ([-.] \w+) *\.\w+ ([-.] \w+) *$
Verify interneturl:^http://([\w-]+\.) +[\w-]+ (/[\w-./?%&=]*)? $;^[a-za-z]+://(w+ (-w+) *) (. ( w+ (-w+) *) * (? s*)? $
Verify the phone number: ^ (\ (\d{3,4}\) |\d{3,4}-)? \d{7,8}$:--the correct format is: xxxx-xxxxxxx,xxxx-xxxxxxxx,xxx-xxxxxxx,xxx-xxxxxxxx,xxxxxxx, XXXXXXXX.
Verify your Social Security number (15-bit or 18-digit number): ^\d{15}|\d{}18$
Validation 12 months of the year: ^ (0?[ 1-9]|1[0-2]) $ correct format: "01"-"09" and "1" "12"
Verify one months of 31 days: ^ ((0?[ 1-9]) | ((1|2) [0-9]) |30|31) $ The correct format is: 01, 09 and 1, 31.
Integer: ^-?\d+$
Non-negative floating-point number (positive floating point + 0): ^\d+ (\.\d+)? $
Positive floating-point number ^ ([0-9]+\.[ 0-9]*[1-9][0-9]*) | ([0-9]*[1-9][0-9]*\. [0-9]+) | ([0-9]*[1-9][0-9]*)) $
Non-positive floating-point number (negative floating point + 0) ^ ((-\d+ (\.\d+)?) | (0+ (\.0+)?)) $
Negative floating-point number ^ (-([0-9]+\.[ 0-9]*[1-9][0-9]*) | ([0-9]*[1-9][0-9]*\. [0-9]+) | ([0-9]*[1-9][0-9]*))) $
Floating point ^ (-?\d+) (\.\d+)? $
Important Do not fully believe that many regular expressions need to be self-validating according to requirements before they can be used for beginners this is particularly important to ignore.
The following is an example of what someone needs to analyze:
a regular expression that matches numbers and letter ciphers
A user registration function password has the following requirements: consists of numbers and letters, and must contain both numbers and letters, and the length is between 8-16 bits.
How do I analyze requirements? Split it! This is the general idea of software design. The split requirements are as follows:
1, not all numbers.
2, not all letters.
3, must be a number or a letter
As long as the above 3 requirements can be satisfied, write to the following:
1 |
^(?! [0-9]+$) (?! [a-za-z]+$] [0-9a-za-z]{8,16}$ |
Separate to annotate:
^ matches the beginning of a line
(?! [0-9]+$] predict that the position is not all numbers behind
(?! [a-za-z]+$] predict that the position is not all letters behind
[0-9a-za-z] {8,16} consists of 8-16 digits or this letter
$ Match Line End position
Note: (?! XXXX) is the negative 0-wide assertion of a regular expression of a form that identifies the pre-position after it is not the XXXX character.
The test cases are as follows:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21st
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
public class Test {
public static void Main (string[] args) throws Exception {
String regex = "^ (?! [0-9]+$) (?! [a-za-z]+$] [0-9a-za-z]{8,16}$];
String value = "AAA"; Not enough length
System.out.println (Value.matches (regex));
Value = "1111AAAA1111AAAAA"; Too long
System.out.println (Value.matches (regex));
Value = "111111111"; Pure Digital
System.out.println (Value.matches (regex));
Value = "AAAAAAAAA"; Plain Letter
System.out.println (Value.matches (regex));
Value = "####@@@@#"; Special characters
System.out.println (Value.matches (regex));
Value = "1111AAAA"; Digital alphabet Combination
System.out.println (Value.matches (regex));
Value = "aaaa1111"; Digital alphabet Combination
System.out.println (Value.matches (regex));
Value = "AA1111AA"; Digital alphabet Combination
System.out.println (Value.matches (regex));
Value = "11AAAA11"; Digital alphabet Combination
System.out.println (Value.matches (regex));
Value = "AA11AA11"; Digital alphabet Combination
System.out.println (Value.matches (regex));
}
}
|
JavaScript Notes Basics (i)