input框限制只能輸入中文
利用正則表達式來讓input中的值限制輸入中文
先來看代碼:
let value = '測試123';
value.replace(/[^\u4e00-\u9fa5]/g, '')
聲明value值初始化
然后用 replace函數
來替換正則表達式中不屬於中文的字符
但在測試時發現用''是無法替換字符,必須是一個字符如'a','1','@',' '來替換才能成功。原理暫不清楚。
let n = /[^\u4e00-\u9fa5]/g;
let testString='測試123';
let bool = n.test(testString);
console.log(bool);
這里的 test函數
用於檢測一個字符串是否匹配某個模式,如果匹配則返回true,反則返回false。
這里的 ^
匹配輸入字符串的開始位置,如果在方括號表達式中使用則表示不接受該字符集合。
所以該代碼表示如果字符中存在中文字符則返回false