Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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正则表达式字母数字英语和日语_Javascript_Regex_Alphanumeric - Fatal编程技术网

Javascript正则表达式字母数字英语和日语

Javascript正则表达式字母数字英语和日语,javascript,regex,alphanumeric,Javascript,Regex,Alphanumeric,我正在尝试制作一个正则表达式,它只允许字符a-Z+int 0-9以及破折号和下划线,还允许日语字符 $.validator.addMethod("alphaDash", function(value, element) { return this.optional(element) || /^[a-zA-Z0-9-_]+$/i.test(value); }, "Username must contain only letters, numbers, dashes or

我正在尝试制作一个正则表达式,它只允许字符a-Z+int 0-9以及破折号和下划线,还允许日语字符

$.validator.addMethod("alphaDash", function(value, element) {
        return this.optional(element) || /^[a-zA-Z0-9-_]+$/i.test(value);
      }, "Username must contain only letters, numbers, dashes or underscores.");

上面的正则表达式仅适用于英文字符,如何使其接受日文字符?平假名/片假名/汉字

您可以使用以下内容:

/^[぀-ゟ゠-ヿ一-龯\w]+$/gu

下面是一个与平假名(unicode 3040-309F)匹配的示例正则表达式:
/[a-zA-Z0-9\u3040-\u309F]+/

您可以更改此选项以添加其他方言/语言。您可能希望签出以查看其他一些unicode值,或者只需在其他位置联机查找它们。

请参见:

  • 平假名(
    \p{Hiragana}
    )字符正则表达式:
    [\u3041-\u3096\u309D-\u309F]|\uD82C\uDC01 |\uD83C\uDE00
  • 片假名(
    \p{Katakana}
    )字符正则表达式:
    [\u30A1-\u30FA\u30FD-\u30FF\u31F0-\u31FF\u32D0-\u32FE\u3300-\u3357\uFF66-\uFF6F\uFF71-\uFF9D]\124;\ uD82C\uDC00
  • [代码><代码><代码>\p{{韩}<<代码>>来看来看来看::<代码><代码>[代码><代码><代码><<代码><<代码><<代码>[代码><<代码>[代码><<代码>[代码>[代码>[代码><<代码><代码><代码><代码><代码><代码><代码>[代码>\uuuuuuu2E80-\uuu2f3.0-\u2f3-U2f3\u2f0-\u2ff3-U0-\u2f5\uuu2f0-\Uf5-\Uf0-\U5\UUUUUU5\U5\u5-\uuu5-\u5\u3005\u3005-\u3005\u3005\u3005\u3005\u3005\u3005\u3005\\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]
您可以使用XRegExp(由于库不断更新,因此更可取):

var rx=new XRegExp(“^[-\\w\\p{Hiragana}\\p{Katakana}\\p{Han}]+$”;
console.log(XRegExp.testえ", rx));
console.log(XRegExp.testえ3英寸(rx));

请参见。FWIW,
XRegExp
库非常酷:对你有用吗?@WiktorStribiżew-Oh-yes unix代码,应该有用!注意,因为这些是脚本范围,它们不仅仅匹配字母/数字。也许,你真的需要使用XRegExp及其
\pL
\pN
结构来匹配任何Unicode let三位数。