正则表达式

在ES5中,RegExp构造函数的参数有两种情况。

第一种情况是,参数是字符串,这时第二个参数表示正则表达式的修饰符(flag)。

var regex = new RegExp('xyz', 'i');
// 等价于
var regex = /xyz/i;

第二种情况是,参数是一个正则表示式,这时会返回一个原有正则表达式的拷贝。

var regex = new RegExp(/xyz/i);
// 等价于
var regex = /xyz/i;

正则表达式模式

方括号用于查找某个范围内的字符:

表达式描述
[abc] 查找方括号之间的任何字符。
[0-9] 查找任何从 0 至 9 的数字。
(x|y) 查找任何以 | 分隔的选项。

元字符是拥有特殊含义的字符:

元字符描述
\d 查找数字。
\s 查找空白字符。
\b 匹配单词边界。
\uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。

量词:

量词描述
n+ 匹配任何包含至少一个 n 的字符串。
n* 匹配任何包含零个或多个 n 的字符串。
n? 匹配任何包含零个或一个 n 的字符串。

 

n$ 匹配任何结尾为 n 的字符串。
^n 匹配任何开头为 n 的字符串。

 

[^abc] 查找任何不在方括号之间的字符。

 

正则表达式修饰符

修饰符 可以在全局搜索中不区分大小写:

修饰符描述
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。

常用正则表达式

/*是否带有小数*/
function    isDecimal(strValue )  {  
   var  objRegExp= /^\d+\.\d+$/;
//  ^/d+:以若干数字开头 + :数字个数大于等于1 
//\. : \表示转义字符,则\.为小数点
//\d+$:以若干数字结尾
   return  objRegExp.test(strValue);  
}  
/*校验是否中文名称组成 */
function ischina(str) {
    var reg=/^[\u4E00-\u9FA5]{2,4}$/;   /*定义验证表达式*/
//匹配一2-4个汉字的写法。 2、这两个unicode值正好是Unicode表中的汉字的头和尾
    return reg.test(str);     /*进行验证*/
}
/*校验邮件地址是否合法 */
function IsEmail(str) {
   var reg=/^(\w)+(\.\w+)*@\w+((\.\w+)+)$/// ^[a-zA-Z0-9]+ :以字母或数字开头的若干字符
    return reg.test(str);
}
/*校验电话码格式 */
function isTelCode(str) {
    var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
//8位或者11位电话号码
    return reg.test(str);
}

 

posted @ 2018-05-30 15:43  sunmarvell  阅读(183)  评论(0编辑  收藏  举报