三、牛刀小试、常用的正则表达式

在学习了正则的元字符以及相关的方法后,我们可以尝试着写或者分析常用的正则表达式了,下面就通过三个正则表达式来熟练一下。

1、验证是否为有效数字

/*
* 规则分析
* 1、可能出现+,-号,也可能不出现。[+-]?
*2、一位0-9都可以,多位首位不能为0 (\d|([1-9]\d+))
*3、小数点部分可能有也可能没有,一旦有后面必须是小数点+数字的形式。(\.\d+)?
*/
var reg = /^[+-]?(\d|[1-9]\d+)(\.\d+)?$/
console.log(reg.test('10'));      // => true
console.log(reg.test('01'));     // => false
console.log(reg.test('1.'));     // => false
console.log(reg.test('0'));     // => true

2、验证真实姓名

/*
*1、汉字   /^[\u4E00-\u9FA5]$/
*2、名字长度 2~10
*3、可能有译名·汉字
**/
let reg = /^[\u4E00-\u9FA5]{2,10}(.[\u4E00-\u9FA5]{2,10}?)$/;
console.log(reg.test('草原上的骆驼'));      // => true
console.log(reg.test('antiai'))                   // => false
console.log(reg.test('草原·骆驼'))            // => true

3、邮箱验证

// => \w+((-\w+)|(\.\w+))*
// 1、开头是数字字母下划线(1到多位)
// 2、 还可以是 (-数字字母下划线)或者是(.数字字母下划线),整体0到多次。
//=>邮箱的名字由“数字、字母、下划线、-、.”几部分组成,但是-/.不能连续出现,也不能作为开始

// => @[A-Za-z0-9]+
1、@后面紧跟着:数字、字母、(1到多位)

// =>((\.|-)[A-Za-z0-9]+)*
// 1、对@后面的域名进行补充
// 多域名    .com.cn
// 企业邮箱  [email protected]

// => \.[A-Za-z0-9]+
// 匹配后面的域名(.com/.cm/.org/.edu)
 var reg = /^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/
console.log(reg.test('[email protected]'));

4、验证身份证号码

/*
*身份证前六位   省市县
*中间的八位
*最后的四位
*最后一位 => X或者数字
*倒数第二位=> 偶数 女  奇数  男
*其余是经过算法算出来的
**/
let reg = /^(\d{6})(\d{8})(\d{2})(\d{2})(\d)(\d|X)$/
console.log(reg.test('622426199211241213'))

正则真的是一个非常强大的工具,也许不用正则也可以实现同样的功能,但是有了正则,功能的实现将更加优雅。稳定性也会更高。

你可能感兴趣的:(三、牛刀小试、常用的正则表达式)