天天看点

正则表达式 - 实例(二)

车牌号正则

var cPattern = /^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9挂学警港澳]{1}$/;

//输出 true

document.write(cPattern.test("京K39006"));

包含中文正则

var cnPattern = /[\u4E00-\u9FA5]/;

//输出 true

document.write(cnPattern.test("菜鸟工具"));

//微信号正则,6至20位,以字母开头,字母,数字,减号,下划线

var wxPattern = /^[a-zA-Z]([-_a-zA-Z0-9]{5,19})+$/;

//输出 true

document.write(wxPattern.test("RuilongMao"));

//QQ号正则,5至11位

var qqPattern = /^[1-9][0-9]{4,10}$/;

//输出 true

document.write(qqPattern.test("65974040"));

//RGB Hex颜色正则

var cPattern = /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/;

//输出 true

document.write(cPattern.test("#b8b8b8"));

//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符

var pPattern = /^.*(?=.{6,})(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[[email protected]#$%^&*? ]).*$/;

//输出 true

document.write(pPattern.test("Runoob123#"));

//用户名正则,4到16位(字母,数字,下划线,减号)

var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;

//输出 true

document.write(uPattern.test("runoob123"));

const validateEmail = (email) => {

  return email.match(

    /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/

  );

};

const validate = () => {

  const $result = $('#result');

  const email = $('#email').val();

  $result.text('');

  if (validateEmail(email)) {

    $result.text(email + ' 是一个正确的邮箱地址 :)');

    $result.css('color', 'green');

  } else {

    $result.text(email + ' 不是一个邮箱地址 :(');

    $result.css('color', 'red');

  }

  return false;

}

$('#email').on('input', validate);

继续阅读