Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 正则表达式jQuery验证程序包含非英语字符_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 正则表达式jQuery验证程序包含非英语字符

Javascript 正则表达式jQuery验证程序包含非英语字符,javascript,jquery,regex,Javascript,Jquery,Regex,嗯,我有一个网站URL的验证程序。它工作得很好,但我需要添加输入非英语字符(如阿拉伯语等)的功能。我对正则表达式略知一二,但我不知道如何在此处允许使用阿拉伯语字符,例如\w或\a $('#WebSiteTextbox').blur(function () { patternurl = /([\d\w]+?:\/\/)?([\w\d\.\-]+)(\.\w+)(:\d{1,5})?(\/\S*)?/i if (!patternurl.test($("#WebSiteTextbox

嗯,我有一个网站URL的验证程序。它工作得很好,但我需要添加输入非英语字符(如阿拉伯语等)的功能。我对正则表达式略知一二,但我不知道如何在此处允许使用阿拉伯语字符,例如\w或\a

$('#WebSiteTextbox').blur(function () {

    patternurl = /([\d\w]+?:\/\/)?([\w\d\.\-]+)(\.\w+)(:\d{1,5})?(\/\S*)?/i
    if (!patternurl.test($("#WebSiteTextbox").val())) {
        $(this).attr('value','');
        $('.ValidatorError').html('Not Valid').slideDown().delay(5000).promise().done(function () {
            $(this).slideUp();
        });
    }
});

您需要包括阿拉伯语和波斯语字符的特定字符范围<代码>\w可以表示为
[A-Za-z0-9\]
。您可以将任何字符范围包含在该字段中

发件人:

  • 阿拉伯文(0600-06FF,255个字符)
  • 阿拉伯-印度数字(0660-0669)
  • 扩展阿拉伯-印度数字(06F0-06F9)
  • 阿拉伯文补编(0750-077F,48个字符)
  • 阿拉伯文扩展-A(08A0-08FF,50个字符)
  • 阿拉伯文演示文稿格式-A(FB50-FDFF,611个字符)
  • 阿拉伯文演示文稿格式-B(FE70-FEFF,140个字符)
  • Rumi数字符号(10E60-10E7F,31个字符)
  • 阿拉伯数学字母符号(1EE00-1EEFF,143个字符)

  • 基本阿拉伯语范围编码标准字母和变音符号, 但不编码上下文形式(U+0621–U+0652直接 基于ISO 8859-6);还包括最常见的变音符号和 阿拉伯-印度数字。阿拉伯文副刊范围对字母进行编码 变体主要用于书写非洲(非阿拉伯语)语言。这个 阿拉伯语扩展-A范围编码额外的古兰经注释和 用于各种非阿拉伯语语言的字母变体。阿拉伯语 表示形式-一系列编码上下文形式和 波斯语、乌尔都语、信德语和中亚语所需的字母变体 语言。阿拉伯语表示形式-B范围编码间距形式 阿拉伯文的变音符号,以及更多的上下文字母形式。这个 演示文稿表单仅用于与旧版本兼容 标准,目前不需要对文本进行编码。阿拉伯语 数学字母符号块编码中使用的字符 阿拉伯数学表达式

    我认为你应该包括:

    • \w
      中:13
    • \d
      1.1
    我相信这包括英语、阿拉伯语和波斯语:

    /(\w+:\/\/)?([-.a-z0-9_\u0600-\u06FF\u08A0-\u08FF]+)(\.\w+)(:\d{1,5})?(\/\S*)?/i
    
    • 我假设协议、扩展名和端口号中不能有阿拉伯字符,只能在域中

    可能与否重复我以前见过,但我的情况不是这样@Emissary@jiff“像阿拉伯文等的字符”-你所说的
    etc
    具体是什么意思?@jiff这是你的情况。。。你不能使用
    \w
    ——简写只包含一个小字母表——你必须指定unicode范围。是的,你说得对,但这个答案对我没有帮助。我用过,但在我的情况下不起作用。请参阅:@Emissary@jiff我很高兴它做到了。我应该提到,虽然我不会说阿拉伯语,所以我建议检查特殊字符,如重音或变音符号,以验证它们是否包含在该范围内。是的,当然,必须检查。谢谢。