Regular Expression for Chinese characters and full-width characters

Source: Internet
Author: User

TestedMatching double-byte characters (including Chinese characters): [^ \ x00-\ xFF] is very useful and recommended

2 recommended web http://mscenter.edu.cn/blog/yongsheng/archive/2004/11/19/308.html

This guy has a lot of regular expressions.

Keyword: Regular Expression Pattern Matching Javascript

Abstract: Common regular expressions are collected.

Regular expressions are used for string processing, form verification, and other occasions. They are practical and efficient, but they are always not sure when used, so they often need to be checked online. I will add some frequently-used expressions to my favorites for memo. This post is updated at any time.

Regular Expression matching Chinese characters: [\ u4e00-\ u9fa5]

Match double-byte characters (including Chinese characters): [^ \ x00-\ xFF]

Application: Calculate the length of a string (two-byte length Meter 2, ASCII character meter 1)

String. Prototype. Len = function () {return this. Replace ([^ \ x00-\ xFF]/g, "AA"). length ;}

Regular Expression for matching empty rows: \ n [\ s |] * \ r

Regular Expressions matching HTML tags:/<(. *)>. * <\/\ 1> | <(. *) \/>/

Regular Expression matching spaces at the beginning and end: (^ \ s *) | (\ s * $)

String. Prototype. Trim = function ()
{
Return this. Replace (/(^ \ s *) | (\ s * $)/g ,"");
}

Use regular expressions to break down and convert IP addresses:

The following describes how to use a regular expression to match an IP address and convert the IP address to a corresponding value in Javascript.Program:

Function ip2v (IP)
{
Re =/(\ D +) \. (\ D +)/g // Regular Expression matching IP addresses
If (Re. Test (IP ))
{
Return Regexp. $1 * Math. Pow (255) + Regexp. $2 * Math. Pow () + Regexp. $3 * + Regexp. $4*1
}
Else
{
Throw new error ("not a valid IP address! ")
}
}

However, if the above program does not use regular expressions, it may be easier to directly use the split function to separate them. The program is as follows:

VaR IP = "10.100.0000168"
IP = IP. Split (".")
Alert ("the IP value is: "+ (IP [0] * 255*255*255 + IP [1] * 255*255 + IP [2] * 255 + IP [3] * 1 ))

The regular expression matching the email address: \ W + ([-+.] \ W +) * @ \ W + ([-.] \ W + )*\. \ W + ([-.] \ W + )*

The regular expression matching the URL: http: // ([\ W-] + \.) + [\ W-] + (/[\ W -./? % & =] *)?

The regular expression is used to remove repeated characters in the string.AlgorithmProgram
: [Note: This program is incorrect. For the reason, see this post.]

VaR S = "abacabefgeeii"
VaR S1 = S. Replace (/(.). * \ 1/g, "$1 ")
VaR Re = new Regexp ("[" + S1 + "]", "G ")
VaR S2 = S. Replace (Re ,"")
Alert (S1 + S2) // The result is: abcefgi


I used to post on csdn to seek an expression to remove repeated characters, but I couldn't find it. This is the simplest implementation method I can think. The idea is to use the back-to-back reference to retrieve repeated characters, then create a second expression with repeated characters, get non-repeated characters, and connect the two. This method may not apply to strings with character order requirements.

Javascript programs that extract file names from URLs using regular expressions. the following result is page1.

S = "http://www.9499.net/page1.htm"
S = S. Replace (/(. * \/) {0,} ([^ \.] +). */ig, "$2 ")
Alert (s)

Use regular expressions to restrict text box input in a webpage form:

The regular expression can only be input.
Text: onkeyup = "value = value. Replace (/[^ \ u4e00-\ u9fa5]/g ,'')"
Onbeforepaste = "clipboardData. setdata ('text', clipboardData. getdata ('text'). Replace (/[^ \ u4e00-\ u9fa5]/g ,''))"

You can only enter full-width characters using regular expressions:
Onkeyup = "value = value. Replace (/[^ \ uff00-\ Uffff]/g ,'')"
Onbeforepaste = "clipboardData. setdata ('text', clipboardData. getdata ('text'). Replace (/[^ \ uff00-\ Uffff]/g ,''))"

Use a regular expression to limit the number of inputs
Word: onkeyup = "value = value. Replace (/[^ \ D]/g ,'')
"Onbeforepaste =" clipboardData. setdata ('text', clipboardData. getdata ('text'). Replace (/[^ \ D]/g ,''))"

Use a regular expression to restrict only numbers and English
Text: onkeyup = "value = value. Replace (/[\ W]/g ,'')
"Onbeforepaste =" clipboardData. setdata ('text', clipboardData. getdata ('text'). Replace (/[^ \ D]/g ,''))"


Application: JavaScript does not have trim functions like VBScript. We can use this expression to implement it, as shown below:

Determine the Regular Expression in Japanese


1. GBK (gb2312/gb18030)
\ X00-\ xFF GBK dubyte encoding range
\ X20-\ x7f ASCII
\ XA1-\ xFF Chinese
\ X80-\ xFF Chinese

2. UTF-8 (UNICODE)
\ U4e00-\ u9fa5 (Chinese)
\ X3130-\ x318f (Korean
\ Xac00-\ xd7a3 (Korean)
\ U0800-\ u4e00 (Japanese)
PS: Korean is a character greater than [\ u9fa5]



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.