正则
密码校验
密码必须包含字母和数字,且长度不小于8位。
/^(?=.*[a-zA-Z])(?=.*\d).{8,}$/
正则设置了全局标志,用 test/exec 方法,一会返回 true,一会返回 false
正则表达式设置了全局标志,test/exec
的执行会改变正则表达式 lastIndex 属性。连续的执行 test/exec
,后续的执行将会从 lastIndex 处开始匹配字符串。
var regex = /foo/g;
regex.test('foo'); // true
regex.test('foo'); // false
regex.test('foo'); // true
regex.lastIndex = 0 // 解决方案
regex.test('foo'); // true
提取文本中的 url
// https://txtfiddle.com/~hlshwya/extract-urls-from-text
const urlRegex = /\b((https?|ftp|file):\/\/|(www|ftp)\.)[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/ig
将文本中的 url 替换成 markdown 链接的写法:
function highlightURL(content: string) {
return content.replace(urlRegex, '[$&]($&)')
}