JS常用方法记录

91 阅读1分钟

1. 正则表达式

1.1 输入框只能包含数字且数字之间只能用英文分号(;)分割

var reg = /^(\d+[;])*(\d+)$/;
if(!reg.exec(phoneNumber)){
  document.getElementById("call_phonesTip").innerHTML="输入格式有误";
  return;
}

2. 选择日期不能超过某天

function $() {
  var date = new Date()//时间
  var day = date.getDate()//日
  var month = date.getMonth() + 1//月
  var year = date.getFullYear()//年
  s1 = year + '-' + month + '-' + day
  s2 = '想要和当前日期比较的表单日期'
  if (DateDiff(s1, s2) < 0)
  {
    alert('选择的日期不能小于今天!')
    return false
  }
  if (DateDiff(s1, s2) > 3) {
    alert('选择的日期不能大于超过未来3天!')
    return false
  }
}

//计算天数差的函数,通用
function DateDiff(sDate1, sDate2) { //sDate1和sDate2是2002-12-18格式
  var aDate, oDate1, oDate2, iDays
  aDate = sDate1.split('-')
  oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]) //转换为12-18-2002格式
  aDate = sDate2.split('-')
  oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
  iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24) //把相差的毫秒数转换为天数
  if (oDate1 < oDate2) {
    return iDays
  } else {
    return -iDays
  }

3. 文本输入框input text输入字母自动转大写

现在需要把一个input输入框内的字母自动转变为大写

  • 使用JavaScript,在input标签添加onkeyup方法,将字符转为大写
<input name="text" type="text" onkeyup="this.value=this.value.toUpperCase()" />
  • 使用CSS,给input设置样式
<input type="text" style="text-transform:uppercase;" />

区别:使用JavaScript会给用户一种转换感,使用CSS是把输入的字母显示为大写。所以从用户体验来说,使用css会更好!不过使用css的话,需要在后台进行大写转换操作