vue属性方法、js属性方法整理

97 阅读2分钟

1.startsWith() 方法 String类型,一般用于检测某请求字符串是否以指定的前缀开始的

let request = "www.baidu.com"; request.startsWith("http") // 返回boolean值 true/false 2.endsWith() 方法 与startsWith 相对应的方法, 检测某请求字符串是否以指定的后缀结束的

let request = "www.baidu.com"; request.startsWith("com") // 返回boolean值 true/false 3.Object.assign() 方法 Object.assign方法是ES6新增的一种对象方法,用于对象的合并,将源对象的所有可枚举属性,复制到目标对象。第一个参数是目标对象,后面的参数都是源对象。

合并对象

4.trim()方法、replace(/(^\s*)|(\s*$)/g, '')正则替换、split(" ").join("")方法转化 这三种方法都可以用作判断用户输入是否为空或者空格的方式

!!注意split是以空格切割的,要在里面空格一下

// 可以去除字符串的头尾空格 var str = " 哈哈 "; console.log(str.trim()); // 输出: "哈哈"

// 截头去尾 会去掉开始和结束的空格,类似于trim if (this.sourceName.replace(/(^\s*)|(\s*)/g, '') == '') { this.message.error('值不可以为空格和空') }

// 会去掉所有的空格,包括开始,结尾,中间 if(this.sourceName.split(" ").join("").length == 0){ console.log("值为空或者为空格"); }

5.手机号、座机、传真、邮箱、身份证号、数字-小数正则

/^1[3|4|5|7|8][0-9]\d{8}$/ //11位手机号-- 13、14、15、17、18开始

/^(\d{3,4}-)?\d{7,8}$/ //座机、传真格式是一样的----区号-号码

/^[a-z0-9]+([._\-][a-z0-9])@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/ // 邮箱的

/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[0-2])(([0-2][1-9])|10|20|30|31)\d{3}(\d|X|x)$/ // 身份证号码18位----从1900到2099年中间的范围验证

/^-?\d{1,4}(?:.\d{1,2})?$/ //范围09999小数点后12位

element UI 正则校验使用示例

v-model绑定的变量名称: [ { required: true, message: '请输入手机号码', trigger: 'blur' }, { min: 11, max: 11, message: '请输入11位手机号码', trigger: 'blur' }, { pattern: /^1[3|4|5|7|8][0-9]\d{8}$/, message: '请输入正确的手机号码' } ],

6、禁用浏览器右键菜单行为 // 禁用右键菜单的两种方式 第一种 document.oncontextmenu = function (e) { return false // 禁用右键 }

第二种
document.addEventListener('contextmenu', function (e) {
  e.preventDefault()
})

开启 document.oncontextmenu = function (e) { return true // 开启右键 }

7、身份证防敏显示 8、修改使用iframe嵌套的页面的样式 const iframe = document.getElementById('iframe') // 获取到iframe节点容器 // onload 在iframe加载完后执行的函数 iframe.onload = () => { // contentWindow 获取到iframe的window // document 获取到iframe的window中的document // 获取修改节点 修改样式 iframe.contentWindow.document.getElementsByClassName( 'EmbedFrame-footer' )[0].style.display = 'none' }

简单一点就是使用JQ来实现

$('#iframe').on('load', () => {
  $($(this)[0].contentWindow.document)
    .find('.EmbedFrame-footer')
    .css('display', 'none')
})

9、 input输入框禁止输入中文 使用input事件 监听用户输入的内容,使用正则的方校验是否存在中文,在通过replace方法将其替换成空字符,达到置空的效果

      <el-form-item label="密码">
        <el-input
          show-password
          v-model="password"
          placeholder="请输入密码"
          @input="password = password.replace(/[^\x00-\xff]/g,'')"
          size="mini"
        ></el-input>
      </el-form-item>

10、 八位以上只能输入大写字母、小写字母、特殊字符的密码复杂度正则校验

{ pattern: /(?=.[A-Z])(?=.[a-z])(?=.*[\W_]).{8,}/, message: '格式为8位以上大写、小写、特殊字符组成' }