正则表达式实用集锦

4星 · 超过85%的资源 需积分: 9 5 下载量 31 浏览量 更新于2024-09-16 收藏 7KB TXT 举报
"这篇资料主要介绍了常用的正则表达式,包括手机号码、身份证号和一些特定格式的输入验证。" 正则表达式是用于匹配字符串模式的强大的工具,在编程和数据验证中广泛应用。以下是一些常见的正则表达式示例: 1. 手机号码验证: - 中国手机号码通常以13、14、15、16、17、18、19开头,其中13、14、15、17、18、19可能有特定的子系列。例如: - `(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?` 用于匹配固话加区号的格式,如010-12345678。 - `^((\(\d{3}\))|(\d{3}\-))?13[456789]\d{8}|15[89]\d{8}` 匹配13、15开头的手机号,但不包含130-139。 - `^((\(\d{3}\))|(\d{3}\-))?13[0-9]\d{8}|15[89]\d{8}` 匹配130-139、158、159开头的手机号。 2. 身份证号验证: - 中国身份证号(18位)的正则表达式较为复杂,一般会考虑校验位的计算,此处未提供具体示例。但可以使用如下的简化版进行基本的格式验证: - `((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)` 用于匹配不同格式的15或18位身份证号。 3. 特定格式的输入验证: - 针对不同场景,我们可能需要限制用户输入的内容,例如: - 11位纯数字:`^\d{11}$`,用于确保输入的11位数字没有其他字符。 - 3-4位字母,后跟7-8位数字:`^[a-zA-Z]{3,4}\d{7,8}$`,适用于邮政编码等。 - 只允许输入数字:`onkeyup="value=value.replace(/[^\d]/g,'')"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"`,这是一段JavaScript代码,用于在输入框中实时过滤非数字字符。 - 限制输入为全英文或中文:`String.prototype.len=function(){returnthis.replace(/[^\x00-\xff]/g,"aa").length;}`,计算字符串中双字节字符(如中文)的长度。 - 去除字符串首尾空格:`String.prototype.trim` 方法可以实现,但要注意JavaScript原生的trim()方法只去除两端的空白符,不包括中间的。 4. ASCII字符范围: - JavaScript中,`[\uFF00-\uFFFF]` 可以匹配所有全角字符,而`[\x00-\xFF]` 则匹配基本的ASCII字符集。 这些正则表达式可以帮助我们在开发中进行有效的数据验证,确保用户输入的数据符合预期的格式。在实际应用中,可以根据具体需求调整和优化这些表达式。