JS小知识

本文汇总了JavaScript与jQuery中的多种实用技巧,包括数字验证、字符串操作、DOM元素选取及属性操作、表单处理等,旨在帮助开发者提高编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.js判断是否数字
if(isNaN(str)){
alert(“yes”);
}
2.判断长度
if(str.length > 6){
alert(“str的长度超过6”);
}
3.js中判断是否以aaa开头结尾
if(string.indexOf(“aaa”) == 0){
alert(“以aaa开头”);
}
if(string.indexOf(“aaa”) > 0){
alert(“包含aaa”);
}
if(string.lastIndexOf(“aaa”) == (string.length-“aaa”.length)){
alert(“以aaa结尾”);
}
4.js将json字符串转为json对象
var str = {“name”:”张毅”,”age”:”11”,”sex”:”男”};
var json = JSON.parse(str);
var name = json.name / json[“name”];
5.jquery,查找div中某一个元素时
var div = 当有多个时,找其中序号为的名取某个的文本内容取图片的路径正则表达式/;匹配中文字符
var haneng = /1{2,10}/;匹配中英文字符
var shuang = /[x00-xff]/;匹配双字节字符(包括汉字在内)
var email = /^w+([-+.]w+)@w+([-.]w+).w+([-.]w+)$/;匹配Email地址
var url = /^http://([w-]+.)+[w-]+(/[w-./?%&=]
)?匹配网址/;匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
7.除去空格
str = str.replace(/\s+/g,”“); 除所有空格
str = str.replace(/^\s+|\s+除两头空格除做空格)/g, “”);//除右空格
8.比较时间大小
function conpareDate(d1,d2){
return ((new Date(d1.replace(/-/g,"/"))) > (new Date(d2.replace(/-/g,"/"))));
}
9.jquery用attr()和prop()修改checked属性
checked属性attribute–>checked,特性property–>true,false
$("#id").attr(“checked”,true);
$("#id").removeAttr(“checked”)
$("#id").prop(“checked”,true);
$("#id").prop(“checked”,false);
$("#id").removeAttr(“checked”)
10.input输入框自动去除小数点
οnkeyup=“this.value=this.value.replace(/\D/g,’’)” onafterpaste=“this.value=this.value.replace(/\D/g,’’)”
11.微信浏览器,location.href无效,微信会识别自动从缓存中读取,而不刷新页面
可以通过window.location.href 转接的连接中加入随机参数,标记成新的跳转页面

  1. html手动加载js和css
    function loadScriptFile(filePath){
    var script = document.createElement(“script”);
    script.type = “text/javascript”;
    script.src = filePath;
    document.head.appendChild(script);
    }
    function loadCssFile(filePath){
    var link = document.createElement(“link”);
    link.type = “text/css”;
    link.rel = “stylesheet”;
    link.href = filePath;
    document.head.appendChild(link);
    //document.getElementsByTagName(“head”)[0].appendChild(link);
    }
  2. html获取项目根路径的方法
    function getRootPath(){
    var curPageUrl = window.document.location.href;
    var rootPath = curPageUrl.split("//")[0] + curPageUrl.split("//")[1].split("/")[0]
    + “/” + curPageUrl.split("//")[1].split("/")[1];
    return rootPath;
    }
  3. 将表单中所有元素设置disabled
    $(“form :input”).attr(“disabled”, true);
  4. 根据name值获取jq
    $(“div[id]”) 选择所有含有id属性的div元素
    $(“input[name=‘newsletter’]”) 选择所有的name属性等于’newsletter’的input元素

$(“input[name!=‘newsletter’]”) 选择所有的name属性不等于’newsletter’的input元素

$(“input[name^=‘news’]”) 选择所有的name属性以’news’开头的input元素
( " i n p u t [ n a m e ("input[name ("input[name=‘news’]") 选择所有的name属性以’news’结尾的input元素
$(“input[name*=‘man’]”) 选择所有的name属性包含’news’的input元素
( " i n p u t [ i d ] [ n a m e ("input[id][name ("input[id][name=‘man’]") 可以使用多个属性进行联合选择,该选择器是得到所有的含有id属性并且那么属性以man结尾的元素

  1. js时间戳转化日期格式
    function timestampToTime(timestamp) {
    var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
    Y = (date.getFullYear() < 10 ? ‘0’+(date.getFullYear()) : date.getFullYear()) + ‘-’;
    M = (date.getMonth()+1 < 10 ? ‘0’+(date.getMonth()+1) : date.getMonth()+1) + ‘-’;
    D = (date.getDate() < 10 ? ‘0’+(date.getDate()) : date.getDate()) + ’ ';
    h = (date.getHours() < 10 ? ‘0’+(date.getHours()) : date.getHours()) + ‘:’;
    m = (date.getMinutes() < 10 ? ‘0’+(date.getMinutes()) : date.getMinutes()) + ‘:’;
    s = (date.getSeconds() < 10 ? ‘0’+(date.getSeconds()) : date.getSeconds());
    return Y+M+D+h+m+s;
    }
  2. ajax通用写法
    var form = new FormData(document.getElementById(“Form”));//后台springMVC需要配置nultipartresolver的bean
    form.append(“username”,“zxj”);
    $(’#Form’).serialize()
    $.ajax({
    type : “POST”,
    url :’<%=basePath%>sendRecord/groupSend.do’,
    data :form,
    dataType:‘json’,
    async: true,
    cache: false,
    contentType: false,
    processData: false,
    beforeSend: beforeSend,
    success: function(data) {
    layer.close(layer.index);
    layer.msg(data.message,{time:data.message.length*200});
    if(data.result == “true”){
    //返回结果正确时
    }
    },
    error:function(){
    layer.close(layer.index);
    layer.msg(“系统繁忙,请稍后再试!”,{time:1500});
    return;
    }
    });

function beforeSend(){
layer.load(0, {shade: false});
}
18. 上传图片通用写法
function upload(f){
var file = “#file”;
for(var i=0;i<f.length;i++){
var reader = new FileReader();
reader.readAsDataURL(f[i]);
var type = f[i].type;
var size = f[i].size;
reader.onload = function(e){
var src = e.target.result;
var imageReg = /^(?:image/jpeg|image/png)$/i;
if(!imageReg.test(type)){
layer.msg(“请上传jpg或png格式的图片!”,function(){
$(file).val("");
return;
});
}
if(size > 210241024){
layer.msg(“请上传小于2M的图片!”,function(){
$(file).val("");
return;
});
}
var image = new Image();
image.src = src;
image.onload = function(){
if(image.width != “345” || image.height != “310”){
layer.msg(“请上传345x310尺寸的图片!”,function(){
$(file).val("");
return;
});
}else{
var div = “”;
$("#dd").html(div);
$("#DATA_IMAGE").val(src);
}
}
}
}
}

  1. 获取当前时间
    function getNowDateStr (date){
    var month = date.getMonth() + 1;
    month = month < 10 ? “0”+month : month;
    return date.getFullYear() + “-” + month + “-” + date.getDate()

    • " " + date.getHours() + “:” + date.getMinutes() + “:” + date.getSeconds()
      }
  2. 计算时间,通过间隔
    function DateAdd(interval, number, date) {
    switch (interval) {
    case “年”: {
    date.setFullYear(date.getFullYear() + number);
    return date;
    break;
    }
    case “季”: {
    date.setMonth(date.getMonth() + number * 3);
    return date;
    break;
    }
    case “月”: {
    date.setMonth(date.getMonth() + number);
    return date;
    break;
    }
    case “周”: {
    date.setDate(date.getDate() + number * 7);
    return date;
    break;
    }
    case “天”: {
    date.setDate(date.getDate() + number);
    return date;
    break;
    }
    case “时”: {
    date.setHours(date.getHours() + number);
    return date;
    break;
    }
    case “分”: {
    date.setMinutes(date.getMinutes() + number);
    return date;
    break;
    }
    case “秒”: {
    date.setSeconds(date.getSeconds() + number);
    return date;
    break;
    }
    default: {
    date.setDate(d.getDate() + number);
    return date;
    break;
    }
    }
    }

  3. 第一种:(跳转到b.html)

第二种:(返回上一页面)

第三种:

第四种:

第五种:


  1. \u4e00-\u9fa5-a-zA-Z ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值