在浏览器控制台中,以下函数的输出是一系列的替换true和false。任何想法?为什么我的Javascript正则表达式输出不一致?
function checkSpecificLanguage(text_val) { // Force string type`enter code here` var regex = /^[\u3000-\u303F\u3040-\u309F\u30A0-\u30FF\uFF00-\uFFEF\u4E00-\u9FAF\u2605-\u2606\u2190-\u2195u203B]+$/ig; console.log(text_val+"-"+regex.test(text_val)); console.log(text_val+"-"+regex.test(text_val)); console.log(text_val+"-"+regex.test(text_val)); console.log(text_val+"-"+regex.test(text_val)); console.log(text_val+"-"+regex.test(text_val)); return regex.test(text_val); } checkSpecificLanguage("でしたコンサート");
谢谢!删除“\ g”修饰符适用于我,但此“RegExp.lastIndex = 0”不适用。什么是实际问题?请使用 –
'regex.lastIndex = 0',参见代码示例。确实,删除'g'也应该起作用。选择最适合你的东西。 –