این آموزش در تاریخ ۱۴۰۱/۰۴/۰۱ آپدیت شده است.
کار با داده های تصادفی در جاوااسکریپت
سلام خدمت تمامی دوستان و همراهان محترم سایت آموزشی فری لرن ، امیدوارم که حال همگیتون خوب باشه. لطفا در ادامه با آموزش کار با داده های تصادفی در جاوااسکریپت با من همراه باشید.
Free-Learn
آنچه در این جلسه میخوانید :
داده های تصادفی در جاوااسکریپت
در زبان جاوااسکریپت ما میتونیم با استفاده تابع ()Math.random یک عدد تصادفی بین ۰ و ۱ ایجاد و یا تولید کنیم، و باید توجه داشته باشید که این عدد تصادفی تولید شده همواره بیشتر از ۰ و کمتر از ۱ هست، یعنی مثلا عددی مثه ۰٫۳۱۰ ( بزرگتر از ۰ و کوچکتر از ۱ )
مثال شماره ۱ : تولید اعداد تصادفی با استفاده از تابع ()Math.random ( بزرگتر از ۰ و کوچکتر از ۱ )
لطفا بروی دکمه امتحان کنید کلیک نمایید و در صفحه مثال چندین بار بروی دکمه اجرای کدها کلیک نمایید یاهم میتونید صفحه رو چندین بار رفرش کنید تا ببینید که یک عدد بصورت تصادفی تولید میشود.
1 2 3 4 5 6 |
<script> var Random_Number = Math.random(); document.write( Random_Number ); </script> |
Free-Learn
تولید اعداد صحیح تصادفی بزرگتر از ۱
خب همونطور که در مثال بالا مشاهده کردید تابع ()Math.random فقط میتونه عدد تصادفی کوچکتر از ۱ رو تولید کنه ولی خب شاید ما بخوایم یک عدد بزرگتری مثلا ( بین ۱۰ تا ۱۰۰۰ ) تولید کنیم، اونوقت باید چکار کرد!؟
خیلی راحت با ترکیب ()Math.floor با ()Math.random میتونیم اعداد تصادفی صحیح به دلخواه خودمون مشخص کنیم، مثلا بگیم یک عدد صحیح تصادفی بین ۰ تا ۱۰,۰۰۰ یا هرچیز دیگه.
مثال شماره ۱ : تولید عدد تصادفی صحیح بین ۰ تا ۱۰,۰۰۰
1 2 3 4 5 6 |
<script> var Random_Number = Math.floor(Math.random() * 10000); document.write( Random_Number ); </script> |
مثال شماره ۲ : تولید عدد تصادفی صحیح بین ۱ تا ۱۰,۰۰۰
1 2 3 4 5 6 |
<script> var Random_Number = Math.floor(Math.random() * 10000)+1; document.write( Random_Number ); </script> |
مثال شماره ۳ : تولید عدد تصادفی بین ۵۰ تا ۱۰۰ ( یا هرعددی که دوس داشتید میتونید مشخص کنید )
1 2 3 4 5 6 |
<script> var Random_Number = Math.floor( Math.random() * (100 - 50) ) + 50; document.write( Random_Number ); </script> |
مثال شماره ۴ : ایجاد یک تابع برای تولید عدد تصادفی ( یه تابع جم جور ایجاد کردیم که خیلی راحت بشه باهاش اعداد تصادفی تولید کرد )
1 2 3 4 5 6 7 8 |
<script> function Random_Number( min , max ){ var MyResult = Math.floor(Math.random() * (max - min)) + min; document.getElementById('Result').innerHTML = MyResult; } </script> |
مثال شماره ۵ : شبیه سازی سیستم تولید و تایید کد فعالسازی ( مثه سایت هایی که شماره تلفن وارد میکنید بعدش براتون کدتایید میفرستن و شما باید کدتایید رو وارد یه باکس مشخص شده کنید )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
<script> function Tolid_Code( min , max ){ var MyResult = Math.floor(Math.random() * (max - min)) + min; document.getElementById('Result').innerHTML = MyResult; document.getElementById('Detalis').innerHTML = "کد ارسال شد، لطفا تاییدش کنید"; document.getElementById('BoxUserCode').style.display = "block"; document.getElementById('Tolid').style.display = "none"; document.getElementById('Taeed').style.display = "inline-block"; } function Taeed_Code(){ var Code, UserInput, Result, Box_Taeed, Detalis, BtnTaeed, Title; Code = document.getElementById('Result').innerHTML; UserInput = document.getElementById('UserCode'); Result = document.getElementById('Result'); Box_Taeed = document.getElementById('Taeed_Shode'); Detalis = document.getElementById('Detalis'); BtnTaeed = document.getElementById('Taeed'); Title = document.getElementById('MyTitle'); if( UserInput.value == "" ){ alert("لطفا کد را وارد نمایید"); }else if( UserInput.value == Code ){ Box_Taeed.style.display = "block"; UserInput.style.display = "none"; Detalis.style.display = "none"; BtnTaeed.style.display = "none"; Title.style.display = "none"; Result.innerHTML = "مرسی، کد تایید شد"; }else{ alert("کد را اشتباه وارد کردید"); } } </script> |
Free-Learn
تولید رشته یا متن تصادفی
حالا میخوایم ببینیم چجوری میشه رشته یا متن یا String بصورت تصادفی تولید کنیم، یعنی بجای اینکه عدد تصادفی تولید بشه میخوایم متن تصادفی تولید کنیم.
مثال شماره ۱ : تولید متن تصادفی با استفاده از کاراکترهایی که ما بهش میدیم ( مثلا !@#$ABCabd123 ) و همچنین در خروجی میتونیم به دلخواه خودمون طول کاراکترهای متن تصادفی تولید شده رو مشخص کنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<script> function Random_Text( My_Length ){ var Result , Result_Export ,My_Characters ,Characters_Length; Result_Export = document.getElementById("Result"); Result = ''; My_Characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()?'; Characters_Length = My_Characters.length; for ( var i = 0; i < My_Length; i++ ){ Result = Result + My_Characters.charAt(Math.floor(Math.random() * Characters_Length)); } Result_Export.innerHTML = Result; } </script> |
مثال شماره ۳ : تولید متن تصادفی از داخل یک آرایه
1 2 3 4 5 6 7 8 9 10 |
<script> function Random_Daneshjoo(){ var Daneshjoo = ["Sadegh", "Ali", "Maryam", "Elnaz" , "Reza" , "Mohsen"]; var RandomString = Math.floor(Math.random() * Daneshjoo.length); var Result = document.getElementById("Result"); Result.innerHTML = Daneshjoo[RandomString]; } </script> |
Free-Learn
مثال های بیشتر
مثال شماره ۱ : دریافت ۱ عدد از کاربر و تولید عدد تصادفی از بین عدد ۱ تا عددی که کاربر مشخص کرده
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<script> function MyRandom(){ var UserNumber = document.getElementById("UN").value; var Result = document.getElementById("Result"); if( UserNumber == "" ){ Result.innerHTML = "لطفا یک عدد وارد کنید"; }else{ var User_Random_Number = Math.floor(Math.random() * UserNumber) + 1; Result.innerHTML = User_Random_Number; } } </script> |