這篇文章主要介紹了正則表達式解決input框固定輸入值得格式(金額,特殊字符),本文分為三種情況給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
在寫輸入用到input的時候,經常出現以下幾種情況:
只能輸入某。栗子:只能輸入數字,只能輸入字母(大寫,小寫)只能輸入某固定格式。栗子:只能輸入金額,只能輸入小數且最多保留2位不能輸入某。栗子:不能輸入特殊字符,如“@#¥%&*”等
這種情況下,就需要直接在input上進行限制,在前端的應用中主要是用正則表達式來解決這些問題的
第一種情況:只能輸入某
<template> <div id="app"> {{value}} <el-input v-model="value" clearable size="small" class="row-value" @input="numCheck(value)"></el-input> //這里我使用的是input,每輸入一次就會檢查,也可以使用change改變時檢查或blur失去焦點時檢查。 </div> </template> <script> export default { name: "app", data() { return { value:'' }; }, methods: { numCheck(val){ if(val != ''){ if (/[^1-9]/.test(val)) { //如果不能輸入數字就去掉^,/[1-9]/.test(val) //只能輸入字母,/[^A-z]/.test(val) //只能輸入字母或數字(如密碼),/[^1-9A-z]/).test(val) this.$message({ type: "error", message: "只能輸入數字,請重新輸入!" }) this.value = '' } } } } }; </script>
第二種情況只能輸入某固定格式
只能輸入小于1的兩位小數
if(value > 1){ this.$message({ type: "error", message: "請輸入小于1的數!" }) this.value = '' return } if (!(/^([0-9]*)+(.[0-9]{1,2})?$/).test(val)) { this.$message({ type: "error", message: "請輸入小于1的兩位小數!" }) this.value = '' }
金額
if(value.length > 12){ this.$message({ type: "error", message: "長度超過12,請重新輸入" }) this.value = '' return } if(!(/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/).test(value)){ this.$message({ type: "error", message: "只能輸入數字,請重新輸入!" }) this.value = '' }
第三種情況不要輸入某
var patrn = /[`~!@#$%^&*_\-+=<>?"{}|\/;'\\[\]·~!@#¥%……&*————\-+={}|《》?“”【】‘'、]/gim; if (patrn.test(val)) { this.$message({ type: "error", message: "請勿輸入特殊字符!" }) }
總結:好好學習正則表達式,超重要!!!
到此這篇關于正則表達式解決input框固定輸入值得格式(金額,特殊字符)的文章就介紹到這了