js问题关于字符串匹配的?


var box = /[\u4e00-\u9fa5+]/;
            alert(box.test("美丽的大兴安岭"));

我认为上面这段代码已经能够用来判断输入的字符是不是全中文了,但是为什么实际判断不了,只能用下面的代码进行判断,为什么要给前后加上首尾符号?


var box = /^[\u4e00-\u9fa5]+$/;
            alert(box.test("美丽的大兴安岭"));

^和$表示必须匹配整个字符串,上面表示一个字符串可以匹配多次,只能代表这个字符串中有符合条件的,并不代表该字符串符合此条件