Classic regular expression

zhaozj2021-02-16  61

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: / <(. *)>. * | <(. *) //> /

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- ./?%&=]*)?

Algorithm program that uses regular expressions to remove repeated characters in strings

: [Note: This procedure is incorrect, the reason is seen in this Post Reply]

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

转载请注明原文地址:https://www.9cbs.com/read-20526.html

New Post(0)