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