[英]Allow chinese characters and English numbers only in textbox - Javascript
以下是我的正则表达式,仅在文本框中接受中文字符和英文数字,但是对于某些下文所述的情况却失败了。 让我知道我在这里做错了。
正则表达式-
const regex = /[\u4E00-\u9FFF\u3400-\u4DFF\uF900-\uFAFF0-9]+/g
失败案例-
反应实施例的代码设置- https://codepen.io/anon/pen/dLQJKM
您的模式正在检查输入是否至少包含一个这样的字符。 只要有一个数字或一个中文字符,它将认为您的输入是有效的。
您要查找的是是否有任何字符与此模式不匹配。 为此,您只需要使用否定的字符类 [^...
,然后检查string.match(regex)
是否为假。
const reg = /[^\一-\鿿\㐀-\䷿\豈-\0-9]+/g; const test = txt => { console.log(txt, !txt.match(reg)); }; test('090 asffa'); // false test('0342eq###'); // false test('42242442dsfsfs'); // false test('foo我'); // false test('245我吧'); // true test('245'); // true test('我吧'); // true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.