Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测JavaScript中的Curly/MS智能引号_Javascript_Html_Regex_Ms Word_Ms Office - Fatal编程技术网

检测JavaScript中的Curly/MS智能引号

检测JavaScript中的Curly/MS智能引号,javascript,html,regex,ms-word,ms-office,Javascript,Html,Regex,Ms Word,Ms Office,我正在做一些用户输入验证(主要是法语字符)。首先,我试图检测输入文本框中的字符。但是,我在尝试检测MS Smart引号(卷曲引号)时遇到问题。代码无法识别智能引号。我不确定是否可能在我测试时,如果我没有实际输入智能报价,或者是正则表达式有问题。MS Smart quote代码是最后2个js条件 <body> <script> function addComment() { var comm = document.g

我正在做一些用户输入验证(主要是法语字符)。首先,我试图检测输入文本框中的字符。但是,我在尝试检测MS Smart引号(卷曲引号)时遇到问题。代码无法识别智能引号。我不确定是否可能在我测试时,如果我没有实际输入智能报价,或者是正则表达式有问题。MS Smart quote代码是最后2个js条件

   <body>

    <script>
        function addComment() {

            var comm = document.getElementById("comment").value;

            if (!(comm.indexOf('\u0152') === -1))
            {
                alert('found OE ligature');
            }
            else if (!(comm.indexOf('\u0153') === -1))
            {
                alert('found oe ligature');
            }
            else if (!(comm.indexOf('\xAB') === -1))
            {
                alert('found <<');
            }
            else if (!(comm.indexOf('\xBB') === -1))
            {
                alert('found >>');
            }
            else if ((comm.match([/[\u201C\u201D\u201E]/g]) ))
            {
                alert('found MS Smart  double quotes and apostrophe ');
            }
             else if ((comm.match(/[\u2018\u2019\u201A]/g) ))
            {
                alert('found MS Smart  single  quotes and apostrophe ');
            }

        }


    </script>



    <input type="text" id="comment" onblur="addComment()">



</body>

函数addComment(){
var comm=document.getElementById(“注释”).value;
如果(!(comm.indexOf('\u0152')=-1))
{
警惕(“发现OE结扎”);
}
否则如果(!(comm.indexOf('\u0153')=-1))
{
警惕(“发现oe结扎”);
}
else如果(!(comm.indexOf('\xAB')=-1))
{
警报(“发现”);
}
else if((comm.match([/[\u201C\u201D\u201E]/g]))
{
警报(“发现MS Smart双引号和撇号”);
}
否则如果((comm.match(/[\u2018\u2019\u201A]/g)))
{
警报(“发现MS Smart单引号和撇号”);
}
}

如果块有一些问题,则最后2个
块将出现问题。首先,检查智能双引号的代码不必要地用
[…]
包装。Secod,如果需要检查字符串是否与模式匹配,请使用
RegExp#test()
(不带全局修饰符)

因此,我建议使用

//var comm=“”“””;
var comm=“”;
如果(!(comm.indexOf('\u0152')=-1)){
警惕(“发现OE结扎”);
}否则如果(!(comm.indexOf('\u0153')=-1)){
警惕(“发现oe结扎”);
}else如果(!(comm.indexOf('\xAB')=-1)){
警报(“发现”);
}否则如果(/[\u201C\u201D\u201E]/.test(comm)){
警报(“发现MS Smart双引号和撇号”);
}否则如果(/[\u2018\u2019\u201A]/.test(comm)){
警报(“发现MS Smart单引号和撇号”);

}
如果
块有一些问题,则最后2个
块将出现问题。首先,检查智能双引号的代码不必要地用
[…]
包装。Secod,如果需要检查字符串是否与模式匹配,请使用
RegExp#test()
(不带全局修饰符)

因此,我建议使用

//var comm=“”“””;
var comm=“”;
如果(!(comm.indexOf('\u0152')=-1)){
警惕(“发现OE结扎”);
}否则如果(!(comm.indexOf('\u0153')=-1)){
警惕(“发现oe结扎”);
}else如果(!(comm.indexOf('\xAB')=-1)){
警报(“发现”);
}否则如果(/[\u201C\u201D\u201E]/.test(comm)){
警报(“发现MS Smart双引号和撇号”);
}否则如果(/[\u2018\u2019\u201A]/.test(comm)){
警报(“发现MS Smart单引号和撇号”);

}
document.getElementById(“comment”).value是什么?“-这是我用来测试智能报价条件的值@WiktorStribiżew引号。@WiktorStribiżew哇。我在将代码粘贴到stackoverflow时对其进行了一些编辑。但是没有在我的ide上测试。谢谢你花时间帮忙。非常感谢。还有,无需指定
/g
。要测试正则表达式是否与字符串匹配,请在正则表达式中使用
RegExp.test()
而不使用
/g
。document.getElementById(“comment”).value
?“”-这是我用来测试智能报价条件的值@WiktorStribiżew引号。@WiktorStribiżew哇。我在将代码粘贴到stackoverflow时对其进行了一些编辑。但是没有在我的ide上测试。谢谢你花时间帮忙。非常感谢。还有,无需指定
/g
。要测试正则表达式是否与字符串匹配,请在正则表达式中使用不带
/g
RegExp.test()