2015-04-19 24 views
17

Tôi muốn Regular Expression để chỉ chấp nhận ký tự tiếng Ả Rập, Spacessố.Regular Expression ký tự tiếng Ả Rập và số chỉ

Số không bắt buộc phải bằng tiếng Ả Rập.

tôi thấy các biểu hiện sau:

^[\u0621-\u064A]+$ 

mà chỉ chấp nhận ký tự chỉ tiếng Ả Rập trong khi tôi cần ký tự tiếng Ả Rập, Spaces và Numbers.

Trả lời

20

Chỉ cần thêm 1-9 (ở định dạng Unicode) vào lớp nhân vật của bạn:

^[\u0621-\u064A0-9 ]+$ 

HOẶC thêm \u0660-\u0669 với nhân vật đẳng cấp đó là range of Arabic numbers: sử dụng

^[\u0621-\u064A\u0660-\u0669 ]+$ 
+0

Cảm ơn bạn, biểu hiện của bạn chấp nhận تجريب 123 nhưng không chấp nhận تجريب 123 تجريب 123 bạn có thể vui lòng sửa đổi nó để chấp nhận không gian quá – moujtahed

+0

@moujtahed bạn chỉ cần thêm một không gian bên trong dấu ngoặc đơn. –

+0

Tôi không có bất kỳ kinh nghiệm nào về định dạng Cụm từ thông dụng, bạn có thể vui lòng đăng biểu thức chấp nhận: Ký tự tiếng Ả Rập, Dấu cách và số – moujtahed

9

Bạn có thể sử dụng:

^[\u0621-\u064A\s\p{N}]+$ 

\p{N} sẽ phù hợp với bất kỳ chữ số số unicode.

Để phù hợp với chỉ sử dụng ASCII chữ số:

^[\u0621-\u064A\s0-9]+$ 

EDIT: Tốt hơn để sử dụng regex này:

^[\p{Arabic}\s\p{N}]+$ 

RegEx Demo

+0

Cảm ơn bạn, biểu thức của bạn chấp nhận تجريب 123 nhưng không chấp nhận تجريب 123 تجريب 123 bạn có thể sửa đổi nó để chấp nhận paces quá – moujtahed

+0

Tôi đã thử nó, vẫn không chấp nhận không gian – moujtahed

+0

Tôi cần chấp nhận các ký tự tiếng Ả Rập, Dấu cách và số – moujtahed

2

này

[\u0600-\u06FF] 

nó làm việc cho tôi trên visual studio

enter image description here

3

bạn có thể sử dụng [ء-ي] nó làm việc cho tôi trong javascript Jquery forme.xác nhận quy tắc

ví dụ của tôi, tôi muốn để buộc người sử dụng để chèn 3 ký tự

[a-zA-Z ء-ي]

0
function HasArabicCharacters(string text) 

{ 

    var regex = new RegExp(

     "[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]"); 

    return regex.test(text); 
} 
+1

Trong khi đoạn mã này được chào đón, và có thể cung cấp một số trợ giúp, nó sẽ được [cải thiện rất nhiều nếu nó bao gồm một lời giải thích] (// meta.stackexchange.com/q/114762) của * how * nó giải quyết câu hỏi. Nếu không có điều đó, câu trả lời của bạn có giá trị giáo dục ít hơn nhiều - hãy nhớ rằng bạn đang trả lời câu hỏi cho độc giả trong tương lai, không chỉ là người hỏi bây giờ! Vui lòng [sửa] câu trả lời của bạn để thêm giải thích và đưa ra chỉ dẫn về những giới hạn và giả định được áp dụng. –

0
[\p{IsArabic}-[\D]] 

Một tiếng Ả Rập nhân vật đó không phải là một phi chữ số

Các vấn đề liên quan