本文整理了一系列实用的JavaScript正则表达式,涵盖手机号、固定电话、IP地址、邮政编码、密码强度及用户名等常见场景。提供完整的函数代码与正则模式,帮助开发者快速实现前端表单验证,提升数据输入的准确性与安全性。
数字与基础字符串验证
以下代码用于校验输入字符串是否完全由数字组成。
具体实现代码如下:
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
} 用户名与姓名格式校验
接下来校验登录名:要求只能输入5至20个字符,必须以字母开头,后续可包含数字、下划线(_)或点号(.)。
具体实现代码如下:
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
} 随后校验用户姓名:限制为1至30个字符,且必须以字母开头。
具体实现代码如下:
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
} 密码强度与联系方式验证
接着校验密码:规定只能输入6至20个字符,允许包含字母、数字及下划线。
具体实现代码如下:
function isPasswd(s)
{
var patrn=/^(w){6,20}$/;
if (!patrn.exec(s)) return false
return true
} 然后校验普通电话或传真号码:允许以加号(+)开头,主体为数字,中间可包含减号(-)。
具体实现代码如下:
function isTel(s)
{
//var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?(d){1,12})+$/;
var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
} 手机号与邮政编码规则
随后校验手机号码:必须以数字开头,除数字外允许包含减号(-)。
具体实现代码如下:
function isMobil(s)
{
var patrn=/^[+]{0,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
} 接下来校验邮政编码。
具体实现代码如下:
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
} 搜索关键字与IP地址检测
随后校验搜索关键字,排除常见特殊符号。
具体实现代码如下:
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\][]{}:;',.<>/?]{1}[^`~!@$%^&()+=|\\][]{}:;',.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
} 最后校验是否为IP地址。
具体实现代码如下:
function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
} 其他常用正则表达式汇总
此外,这里还汇总了其他常用的正则表达式模式,包括整数、浮点数、英文字符串、Email地址及URL等验证规则:
"^\\d+$" //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$" //正整数
"^((-\\d+)|(0+))$" //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$" //负整数
"^-?\\d+$" //整数
"^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0)
"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$" //正浮点数
"^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$" //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数
"^(-?\\d+)(\\.\\d+)?$" //浮点数
"^[A-Za-z]+$" //由26个英文字母组成的字符串
"^[A-Z]+$" //由26个英文字母的大写组成的字符串
"^[a-z]+$" //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
"^\\w+$" //由数字、26个英文字母或者下划线组成的字符串
"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址
"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //url
"^[A-Za-z0-9_]*$"