Tạo số điện thoại bằng javascript
Show devsoo Theo dõi ngày 1 tháng 1 năm 2020 · 1 phút đọc mật mã 05. Tạo số điện thoại [Chi tiết] createPhoneNumber([1,2,3,4,5,6,7,8,9,0]) // returns "(123) 456-7890" Định dạng trả về phải chính xác để hoàn thành thử thách này. [Giải pháp của tôi]Tôi không nghĩ, tôi có thể nối mảng trước. function createPhoneNumber(numbers){ [Giải Pháp Thông Minh1]Giải pháp này giúp nối mảng ngay lập tức. function createPhoneNumber(numbers){ [Giải Pháp Thông Minh2]Giải pháp này tạo định dạng đầu tiên. function createPhoneNumber(numbers){ [Chuyển thể]Chúng ta được yêu cầu viết một hàm JavaScript nhận vào một mảng chính xác 10 số nguyên dương, arr, làm đối số đầu tiên và duy nhất Sau đó, chức năng của chúng tôi sẽ trả về một chuỗi có định dạng của chuỗi số điện thoại Ví dụ: nếu đầu vào của hàm là - Đầu vào const arr = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]; đầu ra const output = '(987) 654-3210'; Thí dụSau đây là mã - Bản thử trực tiếp const arr = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]; const createNumber = (arr = []) => { let res = ''; arr = arr.map(String); res += `(${arr[0]+arr[1]+arr[2]}) `; res += `${arr[3] + arr[4] + arr[5]}-`; res += arr[6] + arr[7] + arr[8] + arr[9]; return res; }; console.log(createNumber(arr)); đầu ra(987) 654-3210 từ chối trách nhiệm. có NHIỀU cách để giải quyết vấn đề này, đây là câu trả lời mà tôi sẽ thấy hoặc sử dụng trong một cuộc phỏng vấn viết mã và sẽ chấp nhận như một câu trả lời đúng TLDR. Giải pháp ở dưới cùng của bài viết Vấn đềViết hàm chấp nhận một chuỗi số hoặc một số và chuyển đổi nó sang định dạng số điện thoại của Hoa Kỳ ví dụ ________số 8 Dung dịchHãy viết ra những gì chúng ta sẽ cần phải làm
Nếu bạn không quen với các câu lệnh if, vui lòng xem trang MDN này trước khi tiếp tục Đầu tiên chúng ta cần tạo chức năng của mình const phoneFormat = (input) => { //check if the string is a number (doesn’t include characters or letters) and not null or undefined //check if the input is a string if not convert it into a string //check if the input length is 10 (us number is 10 digits) //if it is //format it to xxx-xxx-xxxx //if not check if it is less than 10 //return error was not supplied enough numbers please pass a 10 digit number //if not check if length is greater than 10 //return was supplied too many numbers please pass a 10 digit number //if not send something went wrong error for a catch all just in case } Chúng ta cần kiểm tra xem chuỗi có phải là số (không bao gồm các ký tự hoặc chữ cái) và không null hoặc không xác định. Để làm điều này, chúng ta sẽ sử dụng isNaN(). NaN là viết tắt của không phải là một số. hàm JavaScript tích hợp không đếm các chuỗi chỉ có số dưới dạng số. Nếu bạn chưa quen với điều này, vui lòng xem trang MDN này trước khi tiếp tục Chúng tôi cũng sẽ sử dụng chữ mẫu để làm cho lỗi của chúng tôi hữu ích hơn một chút nếu bạn không quen với chữ mẫu, vui lòng đọc trang MDN này function createPhoneNumber(numbers){ 0Nếu đầu vào của chúng tôi không phải là một chuỗi, chúng tôi cần biến nó thành một chuỗi để chúng tôi có thể thực hiện chuyển đổi của mình. Nếu bạn không quen thuộc với. toString() vui lòng xem trang MDN này trước khi tiếp tục function createPhoneNumber(numbers){ 1Vì số điện thoại của Hoa Kỳ được tạo thành từ 10 chữ số, chúng tôi cần kiểm tra xem đầu vào của chúng tôi có phải là 10 chữ số không function createPhoneNumber(numbers){ 2Nếu đầu vào là 10 chữ số, chúng ta cần định dạng nó thành số điện thoại. Nếu bạn không quen thuộc với. replace() vui lòng xem trang MDN này. Nếu bạn không quen thuộc với regex hoặc muốn hiểu rõ hơn về nó, vui lòng xem trang này. Nó là một công cụ tuyệt vời để thử nghiệm và học tập regex function createPhoneNumber(numbers){ 3Bạn sẽ nhận thấy rằng tôi đã định dạng chuỗi của mình bằng dấu gạch ngang giữa mỗi phần (“$1-$2-$3“) nếu bạn muốn có dấu ngoặc đơn trên 3 chữ số đầu tiên thay vì bạn chỉ cần tạo chuỗi (“($1)$2-$3“ Quay trở lại câu lệnh if other của chúng ta, chúng ta sẽ kiểm tra xem đầu vào có nhỏ hơn 10 không. Nếu bạn không muốn lỗi của mình cụ thể theo độ dài, bạn có thể có một câu lệnh if other đơn giản, đó là nếu độ dài là định dạng 10, ngược lại, trả về thông báo về việc đó là đầu vào không hợp lệ. Tuy nhiên, tôi muốn làm cho các thông báo lỗi của mình cụ thể hơn nên trước tiên tôi sẽ kiểm tra xem đầu vào có nhỏ hơn 10 không và nếu nó trả về một thông báo yêu cầu người dùng cung cấp một số có 10 chữ số. Chúng tôi có thể tạo một mẫu theo nghĩa đen ở đây và cho họ biết họ đã cung cấp những gì nhưng tôi quyết định cho họ biết rằng họ không cung cấp đủ số lượng là đủ. Nếu bạn muốn gửi cho họ những gì họ đã cung cấp, bạn có thể tham khảo tin nhắn được gửi trong kiểm tra isNaN của chúng tôi function createPhoneNumber(numbers){ 4Nếu đầu vào không nhỏ hơn 10, chúng tôi sẽ kiểm tra xem đầu vào có lớn hơn 10 không. Một số người có thể chỉ cần đặt một cái khác ở đây và trả lại tin nhắn cho lớn hơn 10. Tuy nhiên, điều này không sao, trong các trường hợp khác, tôi đã thấy điều gì khác ngoài việc kiểm tra logic bị sai và sau đó bạn đang gửi lại lỗi sai. Ví dụ: nếu có điều gì đó không ổn ngoài độ dài của chuỗi mà logic khác không bắt được, chúng tôi sẽ nhận được thông báo cho biết 'đã cung cấp quá nhiều số, vui lòng chuyển một số có 10 chữ số' trong khi thực tế đó không phải là vấn đề. Đối với ví dụ đơn giản này, điều đó có thể ổn vì tôi không thể nghĩ ra nhiều điều sai trái mà chúng tôi không có logic nhưng thật tốt khi có một lỗi bắt tất cả để đề phòng, vì vậy tôi sẽ thêm một kiểm tra cụ thể để biết rõ hơn function createPhoneNumber(numbers){ 5Bây giờ tất cả những gì chúng ta cần là bắt hết lỗi và tất cả chúng ta đều ổn function createPhoneNumber(numbers){ 6Vui lòng để lại giải pháp của bạn mà bạn đã đưa ra trong phần bình luận. Nếu bạn có bất kỳ thử thách nào bạn muốn hoàn thành, hãy để lại điều đó trong các bình luận bên dưới, bạn có thể thấy nó xuất hiện. Nếu bạn muốn nhận thử thách qua email cho bạn mỗi ngày vào buổi sáng và thông báo khi giải pháp được đăng, hãy đăng ký bên dưới Làm cách nào để tạo số điện thoại trong JavaScript?Ví dụ. createPhoneNumber([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]) // => trả về "(123) 456-7890" The returned format must be correct in order to complete this challenge. Don't forget the space after the closing parentheses!
Làm cách nào để thêm định dạng số điện thoại trong JavaScript?Giải pháp . kiểm tra xem chuỗi có phải là số không (không bao gồm ký tự hoặc chữ cái) và không phải là null hoặc không xác định kiểm tra xem đầu vào có phải là chuỗi không nếu không chuyển đổi nó thành chuỗi kiểm tra xem độ dài đầu vào có phải là 10 không (số của chúng tôi là 10 chữ số) nếu đúng. định dạng nó thành xxx-xxx-xxxx. nếu không kiểm tra xem nó có nhỏ hơn 10 không Làm cách nào để xác thực số điện thoại trong JavaScript?Xác thực số điện thoại bằng JavaScript Regex và HTML
. kiểm tra (đầu vào_str); . getElementById('myform_phone'). giá trị; |