persianRex
A minimal library of useful Persian / Farsi regular expressions for browser and NodeJS environment
Places that you can use persianRex

Getting started
You can download the latest release form the release page or use your preferred package manager.
via npm
npm install persian-rex --save
via bower
bower install persian-rex --save
Once downloaded you can include the dist file like this:
Or if you are using node:
var persianRex = ;
Detecting Persian Numbers
The number
RegExp will match any string that only contains Persian numbers.
if persianRexnumber ;
Detecting Persian Letters
The letter
RegExp will match any string that only contains Persian letters.
if persianRexletter ;
Detecting Persian Text
The text
RegExp will match any string that only contains Persian letters, Persian numbers or Persian punctuations.
if persianRextext ;
Detecting RTL characters
From version 2 of this library, rtl
RegExp is added to give you the ability to detect if tested string contains only rtl characters or not. rtl characters are Persian letters, Persian numbers and only the punctuations that are rtl (not [] or / that are also used in English). This is added so that you can be absolutely sure that you are dealing with a rtl text. Here is the example:
if persianRexrtl ; if persianRexrtl ; //this line will not be executed
Punctuations
Since version 1.3.0
punctuations are added to the library and they are combined with the text
method to create a more natural detection of Persian text. It's rare that anybody wants to test a string against Persian punctuation but we decided to expose is for our users. Here is how to use it:
if persianRexpunctuation ;
Using has prefix
You can prefix any of the above methods with has.
if persianRexhasNumber ;
The if condition is true, because the string has a persian number in it. You can use hasLetter
and hasText
as well.
Lower level usage
You can also get the ASCI code ranges for Persian numbers and Persian letters to make your custom RegExps.
var customLettersRegular = '^' + persianRexlettersASCIRange; var customNumberRegular = '^' + persianRexnumbersASCIRange; var customNumberRegular = '^' + persianRexrtlPunctuationsASCIRange; var customNumberRegular = '^' + persianRexltrPunctuationsASCIRange;
Sponsors
Many of regular expressions in this project is extracted from larger projects such as Themeyab.com, If you think I'm are missing an important regular expression, feel free to open an issue on this repository and I will include it in the next version.