使用javascript如何检查字符串包含hindi字体?

时间:2016-06-01 13:18:25

标签: javascript jquery

我使用输入类型文件上传文件我想检查名称是否包含hindi字体或英文字体。

以下是我的代码。

<!doctype html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
        <script>
            $("document").ready(function () {

                $("#upload").change(function () {
                    var filename = $(this).val().replace(/^.*[\\\/]/, '')
                    alert(filename);

                });
            });
        </script>
    </head>
    <body>
        <div>
            <input type="file" name="upload" id="upload" value="upload" />
        </div>

    </body>
</html>

2 个答案:

答案 0 :(得分:4)

印地语字符的字符代码从 2309 2361

试试这个

function hasHindiCharacters(str)
{
  return str.split("").filter( function(char){ 
    var charCode = char.charCodeAt(); return charCode >= 2309 && charCode <=2361;
  }).length > 0;
}

您可以使用此方法

hasHindiCharacters("अasd"); //outputs true

hasHindiCharacters("asd"); //outputs false

<强>样本

    function hasHindiCharacters(str)
    {
      return str.split("").filter( function(char){ 
        var charCode = char.charCodeAt(); return charCode >= 2309 && charCode <=2361;
      }).length > 0;
    }


    console.log(hasHindiCharacters("अasd")); //outputs true

    console.log(hasHindiCharacters("asd")); //outputs false

答案 1 :(得分:1)

您应该能够遍历文件名中的每个字符。在循环中,使用filename.charCodeAt(index)来获取字符的Unicode值。检查char值是否在0900和097F之间,其中包含Devanagari Unicode block中的所有字符,应该告诉您它是否使用印地语。