Regex cho mật khẩu phải chứa ít nhất tám ký tự, ít nhất một số và cả chữ thường, chữ hoa và các ký tự đặc biệt

511
Swapnil Tatkondawar 2013-10-26 23:42.

Tôi muốn một biểu thức chính quy để kiểm tra rằng:

Một mật khẩu có chứa ít nhất tám ký tự, trong đó có ít nhất một số và bao gồm cả chữ thường và chữ hoa và ký tự đặc biệt, ví dụ #, ?, !.

Nó không thể là mật khẩu cũ của bạn hoặc chứa tên người dùng của bạn "password", hoặc"websitename"

Và đây là biểu thức xác thực của tôi dành cho tám ký tự bao gồm một ký tự hoa, một ký tự viết thường và một số hoặc ký tự đặc biệt.

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

Làm thế nào tôi có thể viết nó cho mật khẩu phải có tám ký tự bao gồm một ký tự hoa, một ký tự đặc biệt và các ký tự chữ và số ?

30 answers

1317
Srinivas 2014-01-31 02:44.

Tối thiểu tám ký tự, ít nhất một chữ cái và một số:

"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"

Tối thiểu tám ký tự, ít nhất một chữ cái, một số và một ký tự đặc biệt:

"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\[email protected]$!%*#?&]{8,}$"

Tối thiểu tám ký tự, ít nhất một ký tự viết hoa, một ký tự viết thường và một số:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"

Tối thiểu tám ký tự, ít nhất một ký tự hoa, một ký tự thường, một số và một ký tự đặc biệt:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\[email protected]$!%*?&]{8,}$"

Tối thiểu tám và tối đa 10 ký tự, ít nhất một ký tự hoa, một ký tự thường, một số và một ký tự đặc biệt:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\[email protected]$!%*?&]{8,10}$"
469
anubhava 2013-10-26 23:48.

Bạn có thể sử dụng regex này với nhiều xác nhận (điều kiện) trên trang đầu :

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#[email protected]$%^&*-]).{8,}$

Regex này sẽ thực thi các quy tắc sau:

  • Ít nhất một chữ cái viết hoa bằng tiếng Anh ,(?=.*?[A-Z])
  • Ít nhất một chữ cái tiếng Anh viết thường, (?=.*?[a-z])
  • Ít nhất một chữ số, (?=.*?[0-9])
  • Ít nhất một ký tự đặc biệt, (?=.*?[#[email protected]$%^&*-])
  • Chiều dài tối thiểu tám .{8,}(với các neo)
80
Matt Timmermans 2015-11-08 15:56.

Biểu thức chính quy không có toán tử AND, do đó, khá khó để viết một regex khớp với mật khẩu hợp lệ, khi tính hợp lệ được xác định bởi thứ gì đó VÀ thứ khác VÀ thứ gì đó khác ...

Tuy nhiên, biểu thức chính quy có một toán tử OR, vì vậy chỉ cần áp dụng định lý DeMorgan và viết một regex khớp với mật khẩu không hợp lệ:

Bất kỳ thứ gì có ít hơn tám ký tự HOẶC bất kỳ thứ gì không có số HOẶC bất kỳ thứ gì không có chữ hoa HOẶC bất kỳ thứ gì không có chữ thường HOẶC bất kỳ thứ gì không có ký tự đặc biệt.

Vì thế:

^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|[a-zA-Z0-9]*)$

Nếu bất kỳ điều gì khớp với điều đó, thì đó là mật khẩu không hợp lệ.

36
Edwin Beltran 2014-01-11 09:11.

Chỉ là một cải tiến nhỏ cho câu trả lời của @ anubhava: Vì ký tự đặc biệt được giới hạn cho các ký tự trong bàn phím, hãy sử dụng ký tự này cho bất kỳ ký tự đặc biệt nào:

^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$

Regex này sẽ thực thi các quy tắc sau:

  • Ít nhất một chữ cái viết hoa tiếng Anh
  • Ít nhất một chữ cái tiếng Anh viết thường
  • Ít nhất một chữ số
  • Ít nhất một ký tự đặc biệt
  • Chiều dài tối thiểu tám
27
scniro 2015-10-23 14:05.

Tôi gặp một số khó khăn khi theo dõi câu trả lời phổ biến nhất cho hoàn cảnh của mình. Ví dụ: xác thực của tôi không thành công với các ký tự như ;hoặc [. Tôi không quan tâm đến việc liệt kê trắng các ký tự đặc biệt của mình, vì vậy thay vào đó tôi tận dụng [^\w\s]như một phép thử - chỉ cần đặt - khớp các ký tự không phải từ (bao gồm cả số) và các ký tự không phải khoảng trắng. Tóm lại, đây là những gì đã làm việc cho tôi ...

  • ít nhất 8ký tự
  • ít nhất 1ký tự số
  • ít nhất là 1chữ thường
  • ít nhất là 1chữ hoa
  • ít nhất là 1ký tự đặc biệt

/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,}$/

JSFiddle Link - bản demo đơn giản bao gồm các trường hợp khác nhau

16
SamWhan 2017-09-27 03:23.

Một phiên bản "chung chung" hơn (?), Không cho phép ký tự tiếng Anh nào là ký tự đặc biệt .

^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*[^\w\s])\S{8,}$

var pwdList = [
    '@@V4-\3Z`zTzM{>k',
    '12qw!"QW12',
    '123qweASD!"#',
    '1qA!"#$%&',
    'Günther32',
    '123456789',
    'qweASD123',
    'qweqQWEQWEqw',
    '12qwAS!'
  ],
  re = /^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*[^\w\s])\S{8,}$/;
  
  pwdList.forEach(function (pw) {
    document.write('<span style="color:'+ (re.test(pw) ? 'green':'red') + '">' + pw + '</span><br/>');
  });

16
SHASHANK HONRAO 2017-07-14 02:39.

Sử dụng Regex sau để thỏa mãn các điều kiện dưới đây:

Điều kiện:

  1. Tối thiểu 1 chữ hoa.
  2. Tối thiểu 1 chữ thường.
  3. Tối thiểu 1 ký tự đặc biệt.
  4. Tối thiểu 1 số.
  5. Tối thiểu 8 ký tự.
  6. Tối đa 30 ký tự.

Regex:

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#[email protected]!%&*?])[A-Za-z\d#$@!%&*?]{8,30}$/
14
Vikram 2014-04-25 02:16.

Nhập tệp JavaScript jquery.validate.min.js.

Bạn có thể sử dụng phương pháp này:

$.validator.addMethod("pwcheck", function (value) {
    return /[\@\#\$\%\^\&\*\(\)\_\+\!]/.test(value) && /[a-z]/.test(value) && /[0-9]/.test(value) && /[A-Z]/.test(value)
});
  1. Ít nhất một chữ cái viết hoa tiếng Anh
  2. Ít nhất một chữ cái tiếng Anh viết thường
  3. Ít nhất một chữ số
  4. Ít nhất một ký tự đặc biệt
10
ojus kulkarni 2016-10-20 05:51.

Hãy thử cái này:

  1. Tối thiểu sáu ký tự
  2. Ít nhất một ký tự viết hoa
  3. Ít nhất một ký tự viết thường
  4. Ít nhất một ký tự đặc biệt

Biểu hiện:

"/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[[email protected]$!%*?&.])[A-Za-z\d[email protected]$!%*?&.]{6, 20}/"

Các ký tự đặc biệt tùy chọn:

  1. Ít nhất một ký tự đặc biệt
  2. Ít nhất một số
  3. Các ký tự đặc biệt là tùy chọn
  4. Tối thiểu sáu ký tự và tối đa 16 ký tự

Biểu hiện:

"/^(?=.*\d)(?=.*[a-zA-Z]).{6,20}$/"

Nếu điều kiện tối thiểu và tối đa không được yêu cầu thì loại bỏ .{6, 16}

  • 6 là giới hạn ký tự tối thiểu
  • 20 là giới hạn ký tự tối đa
  • ? = nghĩa là đối sánh biểu thức
8
deathwombat 2018-04-09 08:21.

Tôi sẽ trả lời Peter Mortensen, nhưng tôi không có đủ danh tiếng.

Biểu cảm của anh ấy là hoàn hảo cho từng yêu cầu tối thiểu được chỉ định. Vấn đề với các biểu thức không yêu cầu ký tự đặc biệt của anh ấy là chúng cũng KHÔNG CHO PHÉP các ký tự đặc biệt, vì vậy chúng cũng thực thi các yêu cầu tối đa, điều mà tôi không tin OP đã yêu cầu. Thông thường, bạn muốn cho phép người dùng của mình đặt mật khẩu mạnh như họ muốn; tại sao hạn chế mật khẩu mạnh?

Vì vậy, biểu thức "tối thiểu tám ký tự, ít nhất một chữ cái và một số":

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$

đạt được yêu cầu tối thiểu, nhưng các ký tự còn lại chỉ có thể là chữ cái và số. Để cho phép (nhưng không yêu cầu) các ký tự đặc biệt, bạn nên sử dụng một số thứ như:

^(?=.*[A-Za-z])(?=.*\d).{8,}$ cho phép bất kỳ ký tự nào

hoặc là

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d[email protected]$!%*#?&]{8,}$ để cho phép các ký tự đặc biệt cụ thể

Tương tự như vậy, "tối thiểu tám ký tự, ít nhất một ký tự hoa, một ký tự thường và một số:"

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$

đáp ứng yêu cầu tối thiểu đó, nhưng chỉ cho phép các chữ cái và số. Sử dụng:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$ cho phép bất kỳ ký tự nào

hoặc là

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\[email protected]$!%*?&]{8,} để cho phép các ký tự đặc biệt cụ thể.

8
Emerson Joel Rojas Soliz 2019-12-04 10:04.

Còn về việc xem xét giải pháp regex sau:

^(?=.*[\w])(?=.*[\W])[\w\W]{8,}$

Điều nào xác thực những điều sau:

  1. Ít nhất một chữ thường
  2. Ít nhất một chữ hoa
  3. Ít nhất một chữ số
  4. Ít nhất một ký tự đặc biệt
  5. Ít nhất nó phải có 8 ký tự.

Kiểm tra nó hoạt động tại liên kết sau https://regex101.com/r/qPmC06/4/

7
Heikki Salokanto 2017-08-21 20:58.

Không trực tiếp trả lời câu hỏi, nhưng nó có thực sự phải là một regex không?

Tôi đã từng làm rất nhiều Perl, và quen với việc giải quyết các vấn đề với regexes. Tuy nhiên, khi chúng trở nên phức tạp hơn với tất cả những cái nhìn về phía trước và những điều kỳ quặc khác, bạn cần phải viết hàng tá bài kiểm tra đơn vị để tiêu diệt tất cả những lỗi nhỏ đó.

Hơn nữa, regex thường chậm hơn một vài lần so với giải pháp bắt buộc hoặc chức năng.

Ví dụ, hàm Scala (không phải FP) sau đây giải câu hỏi ban đầu nhanh hơn khoảng ba lần so với regex của câu trả lời phổ biến nhất. Những gì nó làm cũng rõ ràng đến mức bạn không cần phải kiểm tra đơn vị nào cả:

def validatePassword(password: String): Boolean = {
  if (password.length < 8)
    return false

  var lower = false
  var upper = false
  var numbers = false
  var special = false

  password.foreach { c =>
    if (c.isDigit)       numbers = true
    else if (c.isLower)  lower = true
    else if (c.isUpper)  upper = true
    else                 special = true
  }

  lower && upper && numbers && special
}
6
Dana 2020-06-29 04:48.

Điều này đã làm việc cho tôi:

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@$!%*?&])([[email protected]$!%*?&]{8,})$
  • Có ít nhất 8 kí tự;
  • Một chữ thường, một chữ hoa, một số và một ký tự đặc biệt;
  • Không có khoảng trắng.
5
Milan Paudyal 2020-10-07 23:13.
^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[[email protected]#$%^&*()_+,.\\\/;':"-]).{8,}$
    
3
Arun Sivanandan 2016-06-30 19:09.

Theo nhu cầu của bạn, mô hình này sẽ hoạt động tốt. Thử đi,

^(?=(.*\d){1})(.*\S)(?=.*[a-zA-Z\S])[0-9a-zA-Z\S]{8,}

Chỉ cần tạo một biến chuỗi, gán mẫu và tạo một phương thức boolean, phương thức này sẽ trả về true nếu mẫu là đúng, còn lại là false.

Mẫu vật:

String pattern = "^(?=(.*\d){1})(.*\S)(?=.*[a-zA-Z\S])[0-9a-zA-Z\S]{8,}";
String password_string = "Type the password here"

private boolean isValidPassword(String password_string) {
    return password_string.matches(Constants.passwordPattern);
}
3
Stefano 2018-12-20 07:04.

Tôi đã tìm thấy nhiều vấn đề ở đây, vì vậy tôi đã giải quyết vấn đề của riêng mình.

Đây là vinh quang, với các thử nghiệm:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*([^a-zA-Z\d\s])).{9,}$

https://regex101.com/r/DCRR65/4/tests

Những điều cần chú ý:

  1. không sử dụng \wvì điều đó bao gồm _, mà tôi đang thử nghiệm.
  2. Tôi đã gặp rất nhiều khó khăn khi khớp các ký hiệu mà không khớp với cuối dòng.
  3. Không chỉ định cụ thể các ký hiệu, điều này cũng là do các ngôn ngữ khác nhau có thể có các ký hiệu khác nhau trên bàn phím mà họ có thể muốn sử dụng.
3
Mohideen bin Mohammed 2019-11-14 21:20.

Bản giới thiệu:

function password_check() {
  pass = document.getElementById("password").value;
  console.log(pass);
  regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\[email protected]$!%*?&]{8,}$/;
  if (regex.exec(pass) == null) {
    alert('invalid password!')
  }
  else {
    console.log("valid");
  }
}
<input type="text" id="password" value="[email protected]">
<input type="button" id="submit" onclick="password_check()" value="submit">

3
MiKr13 2020-06-05 04:19.

Thử nghiệm cái này vào năm 2020:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\[email protected]$!%*?&]{8,}$

Xác minh bản thân

const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\[email protected]$!%*?&]{8,}$/;
const str = `some12*Nuts`;
let m;

if ((m = regex.exec(str)) !== null) {
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}

2
shiyani suresh 2015-11-04 07:49.
(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+-]).{6}
2
SONewbiee 2017-12-29 12:48.

@ClasG đã đề xuất :

^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*[^\w\s])\S{8,}$

nhưng nó không chấp nhận _ (gạch dưới) là một ký tự đặc biệt (ví dụ: Aa12345_).

Một cải tiến là:

^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*([^\w\s]|[_]))\S{8,}$
1
Samrat Saha 2018-04-26 22:02.

Sử dụng Regex sau để thỏa mãn các điều kiện dưới đây:

Conditions: 1] Min 1 special character.
            2] Min 1 number.
            3] Min 8 characters or More

Regex: ^(?=.*\d)(?=.*[#[email protected]!%&*?])[A-Za-z\d#$@!%&*?]{8,}$

Có thể kiểm tra trực tuyến: https://regex101.com

1
Vidya 2018-05-17 02:14.

Chỉ cần chúng ta có thể làm điều này bằng cách sử dụng HTML5.

Sử dụng mã bên dưới trong thuộc tính mẫu,

pattern="(?=^.{8,}$)((?=.*\d)(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

Nó sẽ hoạt động hoàn hảo.

1
Harshal_Kalavadiya 2018-07-31 01:12.

Bạn có thể sử dụng mẫu biểu thức chính quy dưới đây để kiểm tra xem mật khẩu có khớp với mong đợi của bạn hay không.

((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$%^&*()]).{8,20})
1
Tai Ho 2018-11-22 22:25.
(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$

Liên kết kiểm tra trực tuyến https://regex101.com/r/mqGurh/1

1
Anand Raja 2019-12-01 02:47.

Dùng cái này,

((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$%?=*&]).{8,20})

Nó sẽ xác thực cho ít nhất một chữ thường, một chữ hoa, một số và các ký tự đặc biệt của (!, @, #, $,%,?, =, *, &).

Chiều dài tối thiểu là 8 và chiều dài tối đa là 20

1
Sadia Younas 2020-06-19 13:24.
pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
0
Dadaji 2016-08-06 01:34.

Trong Java / Android, để kiểm tra mật khẩu có ít nhất một số, một chữ cái, một ký tự đặc biệt theo mẫu sau:

"^(?=.*[A-Za-z])(?=.*\\d)(?=.*[[email protected]$!%*#?&])[A-Za-z\\d[email protected]$!%*#?&]{8,}$"
0
Kiwi Rupela 2017-03-24 00:30.

Thử đi:

^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])[[email protected]#$%^&+=]*$

Biểu thức chính quy này phù hợp với tôi một cách hoàn hảo.

function myFunction() {
    var str = "[email protected]";
    var patt = new RegExp("^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])[[email protected]#$%^&+=]*$");
    var res = patt.test(str);
    console.log("Is regular matches:", res);
}
0
Frithjof Schaefer 2019-08-22 14:32.

Tôi thực sự vừa sao chép câu trả lời đầu tiên ở đây và biến nó thành một regex tiện lợi hơn , cần một ký tự trên, một ký tự dưới và ít nhất 8 ký tự nhưng chấp nhận mọi thứ "ở giữa".

Đây là một ví dụ-regex yêu cầu

  1. độ dài ít nhất 8 ký tự
  2. ít nhất một chữ thường
  3. ít nhất một chữ cái viết hoa

QUAN TRỌNG : Biểu thức này cũng sẽ ngoại trừ tất cả các ký tự khác, ví dụ như số, ký tự đặc biệt như $, # ,! vv - miễn là các quy tắc từ 1. đến 3. khớp với chuỗi đầu vào

^(?=.*[a-z])(?=.*[A-Z]).{8,}$

Tâm trí "." alomst vào cuối thời kỳ regex. Điều này sẽ khớp với hầu hết mọi ký tự (và bất kỳ ký tự nào có thể đọc được)

0
Anup Seth 2018-03-19 23:04.

Mẫu để khớp với ít nhất 1 ký tự hoa, 1 chữ số và bất kỳ ký tự đặc biệt nào và độ dài từ 8 đến 63.

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)[a-zA-Z\\d\\W]{8,63}$"

Mẫu này được sử dụng cho lập trình JAVA.

Related questions

MORE COOL STUFF

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett chia tay chồng sau 3 ngày bên nhau và vẫn kết hôn với anh ấy 25 năm sau

Cate Blanchett đã bất chấp những lời khuyên hẹn hò điển hình khi cô gặp chồng mình.

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Tại sao Michael Sheen là một diễn viên phi lợi nhuận

Michael Sheen là một diễn viên phi lợi nhuận nhưng chính xác thì điều đó có nghĩa là gì?

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Hallmark Star Colin Egglesfield Các món ăn gây xúc động mạnh đối với người hâm mộ tại RomaDrama Live! [Loại trừ]

Ngôi sao của Hallmark Colin Egglesfield chia sẻ về những cuộc gặp gỡ với người hâm mộ ly kỳ tại RomaDrama Live! cộng với chương trình INSPIRE của anh ấy tại đại hội.

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Tại sao bạn không thể phát trực tuyến 'chương trình truyền hình phía Bắc'

Bạn sẽ phải phủi sạch đầu đĩa Blu-ray hoặc DVD để xem tại sao Northern Exposure trở thành một trong những chương trình nổi tiếng nhất của thập niên 90.

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

8 công dụng tuyệt vời của Baking Soda và Giấm

8 công dụng tuyệt vời của Baking Soda và Giấm

Bạn biết đấy, hai sản phẩm này là nguồn điện để làm sạch, riêng chúng. Nhưng cùng với nhau, chúng có một loạt công dụng hoàn toàn khác.

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Hạn hán, biến đổi khí hậu đe dọa tương lai của thủy điện Hoa Kỳ

Thủy điện rất cần thiết cho lưới điện của Hoa Kỳ, nhưng nó chỉ tạo ra năng lượng khi có nước di chuyển. Bao nhiêu nhà máy thủy điện có thể gặp nguy hiểm khi các hồ và sông cạn kiệt?

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Quyên góp tóc của bạn để giúp giữ nước sạch của chúng tôi

Tóc tỉa từ các tiệm và các khoản quyên góp cá nhân có thể được tái sử dụng như những tấm thảm thấm dầu và giúp bảo vệ môi trường.

Một thương hiệu kế thừa khác có được cuộc sống mới khi những người chủ mới của Black Opal có được Hội chợ thời trang

Một thương hiệu kế thừa khác có được cuộc sống mới khi những người chủ mới của Black Opal có được Hội chợ thời trang

Desiree Rogers, trái, và Cheryl Mayberry McKissack Chuyển sang, Fenty Beauty và Pat McGrath, có một đế chế làm đẹp mới do phụ nữ làm chủ đang trỗi dậy. Sau thương vụ mua lại mỹ phẩm Black Opal vào tháng 9, đội ngũ quyền lực của Giám đốc điều hành công ty Desiree Rogers và Chủ tịch Cheryl Mayberry McKissack đã thông báo mua lại thương hiệu làm đẹp tiên phong Fashion Fair từ người sáng lập Johnson Publishing Company (JPC).

Ngoài việc trở nên vô nghĩa, các bên bộc lộ giới tính giờ đây đã trở nên chết người

Ngoài việc trở nên vô nghĩa, các bên bộc lộ giới tính giờ đây đã trở nên chết người

Đối với những người có quá nhiều thời gian, tiệc tiết lộ giới tính là một cách thú vị để không cần áp đặt những định kiến ​​hạn chế lên thai nhi trước một đối tượng bạn bè giả vờ quan tâm một cách lịch sự. Tuy nhiên, việc chỉ dựa vào những chiếc bánh nướng có màu nhân tạo để biểu thị một tiếng hoo-ha hoặc một đứa trẻ đi tè đã trở nên xa xỉ trong các bậc cha mẹ trên Instagram.

Kirstjen Nielsen đang cố gắng đổi mới bản thân với tư cách là một người phụ nữ 'nói ra sự thật cho sức mạnh'

Kirstjen Nielsen đang cố gắng đổi mới bản thân với tư cách là một người phụ nữ 'nói ra sự thật cho sức mạnh'

Hôm thứ Tư, cựu Bộ trưởng An ninh Nội địa Kirstjen Nielsen vì một lý do nào đó đã được đưa ra một diễn đàn để phát biểu tại Hội nghị thượng đỉnh Những người phụ nữ quyền lực nhất của Fortune. Và có thể đoán trước được, người phụ nữ giám sát các nỗ lực (đang diễn ra) của chính quyền Trump nhằm chia cắt các gia đình ở biên giới đã sử dụng thời gian của mình như một cơ hội để tự bảo vệ mình và tự nhận mình là người — và hãy hít thở sâu ở đây — “đã nói sự thật với quyền lực.

Toyota Racing Development sẽ cho ra mắt Supra 3000GT Concept, Massive Wing vào tháng tới

Toyota Racing Development sẽ cho ra mắt Supra 3000GT Concept, Massive Wing vào tháng tới

Vì thế hệ mới nhất của chiếc xe điều chỉnh được yêu thích trên thế giới hiện đã có mặt tại đây, nên chỉ có điều kiện là Toyota Racing Development sẽ đưa phiên bản Supra thế hệ thứ năm sửa đổi của riêng mình đến SEMA vào tháng tới. Toyota đã cho chúng tôi một gợi ý về những gì sẽ xảy ra trong tuần này: một chiếc Concept GR Supra 3000GT hiện đại.

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Forced to Borrow Paris' 'I Love Paris' Sweatshirt After 'Airline Loses All [My] Luggage'

Nicky Hilton Rothschild's luggage got lost, but luckily she has an incredible closet to shop: Sister Paris Hilton's!

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa

Kate Middleton dành một ngày bên bờ nước ở London, cùng với Jennifer Lopez, Julianne Hough và hơn thế nữa. Từ Hollywood đến New York và mọi nơi ở giữa, hãy xem các ngôi sao yêu thích của bạn đang làm gì!

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

17 tuổi bị đâm chết trong khi 4 người khác bị thương trong một cuộc tấn công bằng dao trên sông Wisconsin

Các nhà điều tra đang xem xét liệu nhóm và nghi phạm có biết nhau trước vụ tấn công hay không

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Thanh thiếu niên, Gia đình Florida Hội đồng quản trị trường học về Luật 'Không nói đồng tính': 'Buộc chúng tôi tự kiểm duyệt'

Vụ kiện, nêu tên một số học khu, lập luận rằng dự luật "Không nói đồng tính" được ban hành gần đây của Florida "có hiệu quả im lặng và xóa bỏ học sinh và gia đình LGBTQ +"

Đường băng hạ cánh

Đường băng hạ cánh

Cuối hè đầu thu là mùa hoài niệm. Những chiếc đèn đường chiếu ánh sáng của chúng qua những con đường đẫm mưa, và những chiếc lá dưới chân - màu đỏ cam tắt trong bóng chạng vạng - là lời nhắc nhở về những ngày đã qua.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Hãy tưởng tượng tạo ra một chiến lược nội dung thực sự CHUYỂN ĐỔI. Nó có thể.

Vào năm 2021, tôi khuyến khích bạn suy nghĩ lại mọi thứ bạn biết về khách hàng mà bạn phục vụ và những câu chuyện bạn kể cho họ. Lùi lại.

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Sự mất mát của voi ma mút đã mở ra trái tim tôi để yêu

Vào ngày sinh nhật thứ 9 của Felix The Cat, tôi nhớ về một trong những mất mát lớn nhất trong cuộc đời trưởng thành của tôi - Sophie của tôi vào năm 2013. Tôi đã viết bài luận này và chia sẻ nó trên nền tảng này một thời gian ngắn vào năm 2013.

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Khi bạn không thể trở thành người mà Internet muốn bạn trở thành

Tôi ghét từ "tàu đắm". Mọi người cảm thấy thoải mái trong la bàn đạo đức của riêng mình, và khi làm như vậy, họ thấy mình vượt qua sự phán xét.

Language