正则表达式简介
正则表达式是由一个字符序列形成的搜索模式。
当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。
正则表达式可以是一个简单的字符,或一个更复杂的模式。
正则表达式可用于所有文本搜索和文本替换的操作。
语法: /正则表达式主题/修饰符(可选) 如: /hello/i
修饰符和模式
修饰符:可以在全局搜索中不区分大小写:
i -- 执行对大小写不敏感的匹配
g -- 执行全局匹配(查找所有匹配)
m -- 执行多行匹配
模式:方括号用于查找某个范围内的字符:
[abc] -- 查找方括号的任何字符
[0-9] -- 查找任何从0至9的数字
(x|y) -- 查找任何以|分隔的选项
\d -- 查找数字
\s -- 查找空白字符
\b -- 查找单词边界
\uxxxx -- 查找十六进制字符
n+ -- 匹配任何包含至少一个 n 的字符串
n* -- 匹配任何包含零个或多个 n 的字符串
n? -- 匹配任何包含零个或一个 n 的字符串
search使用正则表达式
//用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
var a = "hello world!"
var n = str.search(/world/i) //6
replace使用正则表达式
//用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
var a = "hello world!"
var n = str.replace(/xiaoming/i, "world") //hello xiaoming
附:正则表达式表单验证实例:
/*是否带有小数*/
function isDecimal(strValue ) {
var objRegExp= /^\d+\.\d+$/;
return objRegExp.test(strValue);
}
/*校验是否中文名称组成 */
function ischina(str) {
var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/
return reg.test(str); /*进行验证*/
}
/*校验是否全由8位数字组成 */
function isStudentNo(str) {
var reg=/^[0-9]{8}$/; /*定义验证表达式*/
return reg.test(str); /*进行验证*/
}
/*校验电话码格式 */
function isTelCode(str) {
var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
return reg.test(str);
}
/*校验邮件地址是否合法 */
function IsEmail(str) {
var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
return reg.test(str);
}