javascript学习笔记(五)正则表达式

  常用到的元字符有:

  •. 查找单个字符,除了换行和行结束符;

  •\w 匹配字母、汉字、数字、下划线等符号;

  •\s 匹配空白符(包含空格、制表符等);

  •\d 匹配数字;

  •\b 匹配位于单词的开头或结尾的匹配;

  常用的量词有:

  •^n 匹配任何开头为 n 的字符串;

  •n$ 匹配任何结尾为 n 的字符串;

  •n+ 匹配任何包含至少一个 n 的字符串;

  •n* 匹配任何包含零个或多个 n 的字符串;

  •n? 匹配任何包含零个或一个 n 的字符串;

  •n{X} 匹配包含 X 个 n 的序列的字符串;

  •n{X, Y} 匹配包含 X 或 Y 个 n 的序列的字符串;

  简单举例,主要用于验证手机号码、电话号码及邮箱:

  javascript部分代码:

  

复制代码 代码如下:

  function isMobile() {

  var mobile = document.getElementById("mobile_phone");

  var num = mobile.value;

  var reg = /^(13[0-9]|186|188|150|151|158|159|147)\d{8}$/;

  if(num == "") {

  alert("请输入完整的手机号");

  mobile.focus();

  return false;

  } else if (reg.test(num)) {

  alert("输入的手机号格式正确");

  } else {

  alert("请输入正确的11位手机号码");

  mobile.focus();

  return false;

  }

  }

  function isEmail() {

  var email = document.getElementById("email");

  var email_value = email.value;

  if(email_value == "") {

  alert("请输入完整的邮箱");

  email.focus();

  return false;

  } else {

  var reg = /^[a-zA-Z0-9](\w)+@(\w)+(\.)+(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)$/;

  if(reg.test(email_value)) {

  alert("输入的邮箱格式正确");

  } else {

  alert("请输入正确的邮箱格式");

  email.focus();

  return false;

  }

  }

  }

  function isPhone() {

  var phone = document.getElementById("phone");

  var phone_value = phone.value;

  if(phone_value == "") {

  alert("请输入完整的座机号码");

  phone.focus();

  return false;

  } else {

  var reg = /^[(]?0\d{2,3}[)]?\s*[-]?\s*\d{7,8}$/; //010-87989898 01098989898 (0712)8989898 010 - 23343434 这些格式的座机号码都满足

  if(reg.test(phone_value)) {

  alert("输入的座机号码正确");

  } else {

  alert("输入的座机号码格式错误");

  phone.focus();

  return false;

  }

  }

  }

  HTML部分代码:

  

复制代码 代码如下:

  <p>

  <label for="mobile_phone">手 机</label>

  <input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" />

  <input type="button" value="validate" onclick="isMobile()" />

  </p>

  <p>

  <label for="phone">座 机</label>

  <input type="text" id="phone" name="phone" value="027-87767676" />

  <input type="button" value="validate" onclick="isPhone()" />

  </p>

  <p>

  <label for="email">邮 箱</label>

  <input type="" id="email" name="email" value="[email protected]" />

  <input type="button" value="validate" onclick="isEmail()" />

  </p>