在寫輸入用到input的時(shí)候,經(jīng)常出現(xiàn)以下幾種情況:
只能輸入某。栗子:只能輸入數(shù)字,只能輸入字母(大寫,小寫)只能輸入某固定格式。栗子:只能輸入金額,只能輸入小數(shù)且最多保留2位不能輸入某。栗子:不能輸入特殊字符,如“@#¥%*”等
這種情況下,就需要直接在input上進(jìn)行限制,在前端的應(yīng)用中主要是用正則表達(dá)式來(lái)解決這些問(wèn)題的
第一種情況:只能輸入某
template>
div id="app">
{{value}}
el-input
v-model="value"
clearable
size="small"
class="row-value "
@input="numCheck(value)"
//這里我使用的是input,每輸入一次就會(huì)檢查,也可以使用change改變時(shí)檢查或blur失去焦點(diǎn)時(shí)檢查。
>
/el-input>
/div>
/template>
script>
export default {
name: "app",
data() {
return {
value:''
};
},
methods: {
numCheck(val){
if(val != ''){
if (/[^1-9]/.test(val)) {
//如果不能輸入數(shù)字就去掉^,/[1-9]/.test(val)
//只能輸入字母,/[^A-z]/.test(val)
//只能輸入字母或數(shù)字(如密碼),/[^1-9A-z]/).test(val)
this.$message({
type: "error",
message: "只能輸入數(shù)字,請(qǐng)重新輸入!"
})
this.value = ''
}
}
}
}
};
/script>
第二種情況只能輸入某固定格式
只能輸入小于1的兩位小數(shù)
if(value > 1){
this.$message({
type: "error",
message: "請(qǐng)輸入小于1的數(shù)!"
})
this.value = ''
return
}
if (!(/^([0-9]*)+(.[0-9]{1,2})?$/).test(val)) {
this.$message({
type: "error",
message: "請(qǐng)輸入小于1的兩位小數(shù)!"
})
this.value = ''
}
金額
if(value.length > 12){
this.$message({
type: "error",
message: "長(zhǎng)度超過(guò)12,請(qǐng)重新輸入"
})
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: "只能輸入數(shù)字,請(qǐng)重新輸入!"
})
this.value = ''
}
第三種情況不要輸入某
var patrn = /[`~!@#$%^*_\-+=>?"{}|\/;'\\[\]·~!@#¥%……*————\-+={}|《》?“”【】‘'、]/gim;
if (patrn.test(val)) {
this.$message({
type: "error",
message: "請(qǐng)勿輸入特殊字符!"
})
總結(jié):好好學(xué)習(xí)正則表達(dá)式,超重要?。?!
到此這篇關(guān)于正則表達(dá)式解決input框固定輸入值得格式(金額,特殊字符)的文章就介紹到這了,更多相關(guān)input框固定輸入值得格式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 微信小程序?qū)崿F(xiàn)簡(jiǎn)單input正則表達(dá)式驗(yàn)證功能示例
- js正則表達(dá)式之input屬性($_)RegExp對(duì)象屬性介紹