Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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 用于unicode字符(波斯数字)的正则表达式_Javascript_Regex_Unicode - Fatal编程技术网

Javascript 用于unicode字符(波斯数字)的正则表达式

Javascript 用于unicode字符(波斯数字)的正则表达式,javascript,regex,unicode,Javascript,Regex,Unicode,我有一个用于验证波斯日期的正则表达式,如下所示: ((((\u0661\u0663|\u0661\u0664)[\u0660-\u0669]{2})(\/|-)(\u0660[\u0660-\u0669]{1}|\u0661\u0661|\u0661\u0662))(\/|-)(\u0660[\u0661-\u0669]{1}|(\u0661|\u0662)[\u0660-\u0669]{1}|\u0663\u0660|\u0663\u0661)) 1. (\u0661\u0663|\u066

我有一个用于验证波斯日期的正则表达式,如下所示:

((((\u0661\u0663|\u0661\u0664)[\u0660-\u0669]{2})(\/|-)(\u0660[\u0660-\u0669]{1}|\u0661\u0661|\u0661\u0662))(\/|-)(\u0660[\u0661-\u0669]{1}|(\u0661|\u0662)[\u0660-\u0669]{1}|\u0663\u0660|\u0663\u0661))

1.
(\u0661\u0663|\u0661\u0664)[\u0660-\u0669]{2} : only match ۱۳|۱۴ followed by two char between [٠-۹] 
match: ۱۳۹۹ , ۱۴٠٠
not match: ۱۲۹۹
2. 
separator can be / | -
3.
(\u0660[\u0660-\u0669]{1}|\u0661\u0661|\u0661\u0662)) : (٠ with following single char between [۱-۹]) | ۱۱ | ۱۲
match: ٠۱ , ٠۹, ۱۱ , ۱۲
not match: ۱۳ , ۲۱ , ٠٠ , etc
4.
(\u0660[\u0661-\u0669]{1}|(\u0661|\u0662)[\u0660-\u0669]{1}|\u0663\u0660|\u0663\u0661) : match (٠۱-٠۹) |  (۱۱ - ۲۹) | ۳٠ | ۳۱

但这一环节的测试并没有通过。我做错什么了吗?

多亏了@JvdV,我在获取波斯语数字字符的unicode时犯了一个错误。正确的正则表达式应该是:

((((\u06F1\u06F3|\u06F1\u06F4)[\u06F0-\u06F9]{2})(\/|-)(\u06F0[\u06F0-\u06F9]{1}|\u06F1\u06F1|\u06F1\u06F2))(\/|-)(\u06F0[\u06F1-\u06F9]{1}|(\u06F1|\u06F2)[\u06F0-\u06F9]{1}|\u06F3\u06F0|\u06F3\u06F1))

也许你对链接帖子上看到的内容感到困惑。看看如果我更改unicode块会发生什么@JvdV No,我在测试中使用了波斯语字符和regexBut,您测试它的文本显然是由我显示的链接中的扩展数字触发的。@JvdV是的,它们看起来很接近,但我知道区别,当我感到困惑时。当您将所有代码块更改为“U+06Fn”符号时,将触发链接中的示例文本。因此,您当前没有使用正确的unicode块。有什么让人困惑的?或者……我错过了什么?