ریجکس زیر فقط کاراکتر های فارسی رو قبول میکنه:
/^[پچجحخهعغآ؟.،آفقثصضشسیبلاتنمکگوئدذرزطظژ!!ؤإأءًٌٍَُِّ\s]+$/u
و این ریجکس فقط کاراکتر های فارسی و انگلیسی رو قبول میکنه:
/^[پچجحخهعغآ؟.،آفقثصضشسیبلاتنمکگوئدذرزطظژ!!ؤإأءًٌٍَُِّ a-zA-Z\s]+$/u
ریجکس زیر فقط کاراکتر های فارسی رو قبول میکنه:
/^[پچجحخهعغآ؟.،آفقثصضشسیبلاتنمکگوئدذرزطظژ!!ؤإأءًٌٍَُِّ\s]+$/u
و این ریجکس فقط کاراکتر های فارسی و انگلیسی رو قبول میکنه:
/^[پچجحخهعغآ؟.،آفقثصضشسیبلاتنمکگوئدذرزطظژ!!ؤإأءًٌٍَُِّ a-zA-Z\s]+$/u
معمولا برای هش کردن داده ها از خود php استفاده میشه اما شاید نیاز باشه تا از این ویژگی در mysql استفاده کنیم.
مطمعنا اون انعطافی که در هش کردن با PHP هست در MySQL نیست.
همچنین mysql از تعداد محدودی از الگوریتم های هش پشتیبانی میکنه.
فرض کنید قصد داریم یه کاربر به جدول user اضافه کنیم و کلمه عبور بصورت md5 ذخیره بشه:
INSERT INTO `user` (`Username`, `Pass`) VALUES ('mohammad_salehi', MD5('mypassword'));
الگوریتم ها و تابع های زیادی برای hash کردن وجود داره و همچنین نکاتی هستن که در زمان Hash کردن باید به اون ها توجه کرد، مثل افزودن salt.
یکی از توابع pssword_hash() هست که کار کردن با اون بسیار آسون هست و همچنین از الگوریتم bcrypt استفاده میکنه که یکی از قوی ترین الگوریتم های موجود هست.
نکته جالب در مورد این تابع اینه که خودش بصورا خودکار salt رو تولید میکنه.
برای مقایسه رشته هش شده با رشته اصلی باید از تابع password_verify() استفاده بشه.