Author: Alai (Email: A at Lai.com.cn home page: http: //www.9499.net Blog: http://blog.9cbs.net/laily/)
Keywords: regular expression pattern matching JavaScript
Summary: Collect some common regular expressions.
Regular expressions are used in string processing, form verification, etc., practical efficient, but it is always not sure to use it, so that I often check it online. I put some commonly used expressions here and make a memo. This post will be updated in any time.
Regular expressions matching Chinese characters: [/ u4e00- / u9fa5]
Match double-byte characters (including Chinese characters): [^ / X00- / XFF]
Application: Calculate the length of the string (a double-byte character length 2, ASCII characters 1)
String.prototype.len = function () {return this.Replace ([^ / X00- / XFF] / g, "aa"). Length;}
Regular expression of matching blank line: / n [/ s |] * / r
Matching the regular expression of HTML tag: / <(. *)>. * // 1> | <(. *) //> /
Regular expressions matching the first tail space: (^ / s *) | (/ s * $)
Application: There is no TRIM function like VBScript in JavaScript, we can use this expression to be implemented, as follows:
String.prototype.trim = function () {Return this.Replace (/ (^ / s *) | (/ s * $) / g, "");
Using regular expressions to decompose and convert IP addresses:
Below is the JavaScript program that uses the regular expression to match the IP address and convert the IP address into the corresponding value:
Function IP2V (IP) {RE = / (/ d ) /. (/ d ) /. (/ d ) /. (/ d ) / g // Match the regular expression IF of the IP address (Re.Test (IP) $ 1 * Math.Pow (255, 3)) Regexp. $ 2 * Math.Pow (255, 2)) Regexp. $ 3 * 255 regexp. $ 4 * 1} else {throw new error (" Not a valid ip address! ")}}
However, the above program does not use a regular expression, and directly use the SPLIT function to decompose may be simpler, the program is as follows:
VAR IP = "10.100.20.168" IP = IP.Split (".") Alert ("IP value is:" (IP [0] * 255 * 255 * 255 IP [1] * 255 * 255 IP [ 2] * 255 IP [3] * 1))
Match the regular expression of the email address: / w ([- .] / W ) * @ / w ([-.] / W ) * /. / W ([-.] / W ) *
Matching URL URL regular expressions: http: // ([/ w-] /.) [/ W-] (/ [/ w- ./?%&=]*)?
The algorithm program of repeated characters repeated in the string is removed by the regular expression:
Var s = "AbacaFgeeii" var s1 = s.Replace (/( (.). "$ 1") VAR RE = New Regexp ("[" S1 "]", "G") VAR S2 = S.Replace (re, ") ALERT (S1 S2) / / The result is: Abcefgi I originally posted a way to find an expression on 9CBS to implement the method of removing the repeating character, and I didn't find it, this is what I can think of. The simplest implementation method. The idea is to use the retrieval to remove the repeated characters, and then establish a second expression with a duplicate character, take the non-repetitive character, and the two are connected. This method may not apply for a string that requires the character sequence. You have to extract the JavaScript program of the file name from the URL address using a regular expression. The following results are page1
S = "http://www.9499.net/page1.htm" s = s.Replace (/ (//) {0,} ([^ /.] ). * / ig, "$ 2" Alert (s)
Use the regular expression to limit the text box in the text box in the web form:
Use the regular expression restrictions can only be entered in Chinese: οNKEYUP = "value = value.replace (/ [^ / U4E00- / U9FA5] / g, '')" onbeforepaste = "ClipboardData.SetData ('Text', ClipboardData.Getdata) 'Text'). Replace (/ [^ / U4E00- / U9FA5] / g, '')) "
Use the regular expression to limit only full-width characters: οnkeyup = "value = value.replace (/ [^ / uff00- / uffff) / g, ')" onbeforepaste = "clipboardData.setdata (' Text ', ClipboardData.Getdata) ('text'). Replace (/ [^ / UFF00- / UFFFFF] / g, '')) "
Use regular expressions to limit only numbers: οnkeyup = "value = value.replace (/ [^ / d] / g, '')" onbeforepaste = "ClipboardData.SetData ('Text', ClipboardData.Getdata ('Text' ) .Replace (/ [^ / d] / g, ')) ")
Use regular expressions to limit only numbers and English: οNKEYUP = "value = value.replace (/ [/ w] / g, '')" onbeforepaste = "ClipboardData.SetData ('Text', ClipboardData.Getdata ('Text ') .Replace (/ [^ / d] / g,'))