一、语法
1.1 在JS中的使用代码
var myregex = new RegExp("^[-]?[0-9][0-9]{0,2}\\.[0-9]{5,15}\\,\s*[-]?[0-9][0-9]{0,2}\\.[0-9]{5,15}$");var flagmath = myregex.test(cordinateString);
1.2专用字符包括:+,*,?
+:规定其前导字符必须在目标对象中连续出现一次或多次。
*:规定其前导字符必须在目标对象中出现零次或连续多次。
?:规定其前导对象必须在目标对象中连续出现零次或一次。
{n}匹配确定的 n 次。
{n,}至少匹配 n 次。
{n,m}n <= m,最少匹配 n 次且最多匹配 m 次。
\s:用于匹配单个空格符,包括tab键和换行符;
\S:用于匹配除单个空格符之外的所有字符;
\d:用于匹配从0到9的数字;
\w:用于匹配字母,数字或下划线字符;
\W:用于匹配所有与\w不匹配的字符;
. :用于匹配除换行符之外的所有字符。
1.3 较为常用的定位符包括:^, $, \b,\B
^:定位符规定匹配模式必须出现在目标字符串的开头
$:定位符规定匹配模式必须出现在目标对象的结尾
\b:定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一
\B:定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。
二、典型应用
匹配负整数的正则表达式:
-[0-9]*[1-9][0-9]*
匹配整数的正则表达式:
-?\\d+
匹配非负浮点数(正浮点数 + 0)的正则表达式:
\\d+(\\.\\d+)?
匹配正浮点数的正则表达式:
(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))
匹配非正浮点数(负浮点数 + 0)的正则表达式:
((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))
匹配负浮点数的正则表达式:
(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))
匹配浮点数的正则表达式:
(-?\\d+)(\\.\\d+)?
匹配26个英文字母组成字符串的正则表达式:
[A-Za-z]+
匹配26个英文字母的大写组成字符串的正则表达式:
[A-Z]+
匹配26个26个英文字母的小写组成字符串的正则表达式:
[a-z]+
匹配中文字符的正则表达式:
[\u4e00-\u9fa5]
匹配中文字符数限制的正则表达式:
[\u4e00-\u9fa5]{2,4}
匹配下划线和数字及字母的正则表达式:
[\w+]{6,12}
匹配中文字符及字母的正则表达式:
[^\W\x00-\xff]{6,16}
匹配双字节字符(包括汉字在内)表达式:
[^\x00-\xff]
匹配空行的正则表达式:
\n[\s| ]*\r
匹配HTML标记的正则表达式:
/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:
(^\s*)|(\s*$)(像vbscript那样的trim函数)
匹配Email地址的正则表达式:
\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:
http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
匹配手机号码且以数字开头的正则表达式:
((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[89]\d{8} 或 [+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[]){1,12})+
匹配普通电话、传真号码,可以“+”开头,除数字外,可含有“-”的正则表达式:
\d{3,4}-?\d{7,8}-?\d{0,1} 或 [+]{0,1}(\d){1,3}[]?([-]?((\d)|[]){1,12})+
匹配特定形式数字及标识(如60~80)的正则表达式:
[1-9][0-9]?[0-9]?(~)[1-9][0-9]?[0-9]?
匹配百分数的正则表达式:
(100|([1-9]?[0-9]?))%
使用座机号码(JS)范例:
(/^\d{3,4}[-]d{7,8}[-]\d{0,1}$/.test(value))