javascript正则表达式 (中文,数字,字母)

new

var re = new RegExp(‘test’,'gi’);
var re = /test/gi;

function
test();//bool
exec();//string 一次匹配并返回
match();//array 多次匹配并返回
search();//类似indexOf()
replace();//替换
split();//分割

有用的预定义类
.[^nr]//不包含换行的任何字符
d [0-9]
D [^0-9]
s [tnx0Bfr]//空字符,换行符
S [^tnx0Bfr]//非空,非换行
w [a-zA-Z0-9]
W [^a-zA-Z0-9]

量词

? {0,1}
* {0,}
+ {1,}
{n} 一定出现n次
{n,m}至少出现n次,但不超过m次
{n,} 至少出现n次

贪婪:”{m,n}”, “{m,}”, “?”, “*”, “+”
(d)(w+) ”w+” 将匹配第一个 “d” 之后的所有字符 “xxxdxxxd”
(d)(w+)(d) ”w+” 将匹配第一个 “d” 和最后一个 “d” 之间的所有字符 “xxxdxxx”。虽然 “w+” 也能够匹配上最后一个   “d”,  但   是为了使整个表达式匹配成功,”w+” 可以 “让出” 它本来能够匹配的最后一个 “d”

懒惰:”{m,n}?”, “{m,}?”, “??”, “*?”, “+?”
(d)(w+?) ”w+?” 将尽可能少的匹配第一个 “d” 之后的字符,结果是:”w+?” 只匹配了一个 “x”
(d)(w+?)(d) 为了让整个表达式匹配成功,”w+?” 不得不匹配 “xxx” 才可以让后边的 “d” 匹配,从而使整个表达式匹配成功。因此,结果是:”w+?” 匹配 “xxx”

分组
var test = ‘([1-2])([a-z])’;

test.replace(reg,function(r0,r1){
console.log(r1);//可用r0,r1进行任意操作
console.log(RegExp.$1);//等价r1
});

匹配中文字符的正则表达式: [u4e00-u9fa5]
匹配双字节字符(包括汉字在内):[^x00-xff]

<script>
function isChinese(temp)
{
 var re = /[^u4e00-u9fa5]/;
 if(re.test(temp)) return false;
 return true;
}
alert(isChinese("中文"));
</script>

例子

<script>
<!--
function checkStr(str){
// [u4E00-uFA29]|[uE7C7-uE7F3]汉字编码范围
var re1 = new RegExp("^([u4E00-uFA29]|[uE7C7-uE7F3]|[a-zA-Z0-9])*$");
if (!re1.test(str)){
alert("否");
return false;
}
alert("是");
return true;
}
//-->
</script>

数字正则

例:
/**正整数匹配表达式*/
var pattern=/^[0-9]*[1-9][0-9]*$/;
var flag = pattern.test(a);
如果a是正整数,flag的boolean值为true,如果a不是正整数,flag的boolean值为false。

 

/**浮点数匹配表达式*/
var pattern = /^([-]){0,1}([0-9]){1,}([.]){0,1}([0-9]){0,}$/;

/**浮点数匹配表达式且只保留两位小数*/
var pattern=/^-?d+[.d]?d{0,2}$/;

/**正浮点数匹配表达式*/
var pattern=/^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$/;

/**正浮点数且保留两位小数匹配表达式*/
var pattern=/^(([1-9]d*(.d?[0-9])?)|(0.[1-9][0-9])|(0.[0][1-9]))$/;

/**负浮点数匹配表达式*/
var pattern=/^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$/;

/**负浮点数且保留两位小数匹配表达式*/
var pattern=/^-(([1-9]d*(.d?[0-9])?)|(0.[1-9][0-9])|(0.[0][1-9]))$/;

/**负浮点数+0 匹配表达式*/
var pattern=/^((-d+(.d+)?)|(0+(.0+)?))$/;

/**负浮点数+0 并且保留两位小数匹配表达式*/
var pattern=/^((-d+[.d]?d{0,2})|(0+(.0+)?))$/;

正浮点+0匹配表达式
var pattern = /^d+(.d+)?$/;

/**正浮点+0匹配表达式且只保留两位小数*/
var pattern=/^d+[.d]?d{0,2}$/;

/**整数匹配表达式*/
var pattern=/^-?d+$/;

/**正整数匹配表达式*/
var pattern=/^[0-9]*[1-9][0-9]*$/;

/**负整数匹配表达式*/
var pattern=/^-[0-9]*[1-9][0-9]*$/;

/**正整数+0 的匹配表达式*/
var pattern=/^d+$/;

/**负整数+0 的匹配表达式*/
var pattern=/^((-d+)|(0+))$/;

/**全是数字匹配表达式*/
var pattern=/^[0-9]{1,20}$/

时间: 2024-09-20 11:55:48

javascript正则表达式 (中文,数字,字母)的相关文章

javascript创建含数字字母的随机字符串方法总结_javascript技巧

第一种: //code from http://caibaojian.com/js-random-string.html function makeid() { var text = ""; var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; for( var i=0; i < 5; i++ ) text += possible.charAt(Math

Javascript 正则表达式校验数字的简单实例_javascript技巧

实例如下: $("input[datatype=number]").blur(function () { var str = $(this).val(); if (!isDecimal(str)) { alert("请输入数字"); } }); function isDecimal(str) { if (isInteger(str)) return true; var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/; if (re.test(str

js正则表达式匹配数字字母下划线等_javascript技巧

1.一个正则表达式,只含有汉字.数字.字母.下划线不能以下划线开头和结尾: ^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]+$ 其中: ^ 与字符串开始的地方匹配 (?!_) 不能以_开头 (?!.*?_$) 不能以_结尾 [a-zA-Z0-9_\u4e00-\u9fa5]+ 至少一个汉字.数字.字母.下划线 $ 与字符串结束的地方匹配 放在程序里前面加@,否则需要\\进行转义 @"^(?!_)(?!.*?_$)[a-zA-Z0-9_\u4e00-\u9fa5]

js中判断数字\字母\中文的正则表达式 (实例)_javascript技巧

/* 判断指定的内容是否为空,若为空则弹出 警告框 */ function isEmpty(theValue, strMsg){ if(theValue==""){ alert(strMsg+"不能为空!"); return true; } return false; } /* 中文判断函数,允许生僻字用英文"*"代替 返回true表示是符合条件,返回false表示不符合 */ function isChinese(str){ var badCh

Java正则表达式过滤出字母、数字和中文_正则表达式

1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式       [^(A-Za-z)] (2) 过滤出 数字 的正则表达式    [^(0-9)] (3) 过滤出 中文 的正则表达式        [^(\\u4e00-\\u9fa5)] (4) 过滤出字母.数字和中文的正则表达式        [^(a-zA-Z0-9\\u4e00-\\u9fa5)] 2.实例源码 ** * @Title:FilterStr.java * @Package:com.you.dao

php 用户名正则表达式(中文,英文,数字,字母)

php教程 用户名正则表达式(中文,英文,数字,字母) 由字母a-z(不区分大小写).数字0-9.减号或下划线组成 只能以数字或字母开头和结尾 用户名长度为4-18个字符 ^[a-za-z0-9]{1}[a-za-z0-9|-|_]{2-16}[a-za-z0-9]{1}$ 用户名为大写字母小写字母或下划线,并以字母开头,长度为6-20 ^[a-za-z][wd_]{5,19} 用户名:包括英文小写.汉字.数字.下划线,不能全部是数字,下划线不能在末尾 /^[a-z0-9_u4e00-u9fa5

Java正则表达式过滤出字母、数字和中文

1.Java中过滤出字母.数字和中文的正则表达式 (1)过滤出字母的正则表达式 [^(A-Za-z)] (2) 过滤出 数字 的正则表达式 [^(0-9)] (3) 过滤出 中文 的正则表达式 [^(\\u4e00-\\u9fa5)] (4) 过滤出字母.数字和中文的正则表达式 [^(a-zA-Z0-9\\u4e00-\\u9fa5)] 2.实例源码 ** * @Title:FilterStr.java * @Package:com.you.dao * @Description:Java中过滤数

javascript实现数字+字母验证码的简单实例

 本篇文章只要是对javascript实现数字+字母验证码的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 实例如下:  代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www

基于JS实现数字+字母+中文的混合排序方法_javascript技巧

在上篇文章给大家介绍了JavaScript sort数组排序方法和自我实现排序方法小结,用自己的方法实现了数字数组的排序. 当然,实际运用中,我还是会使用sort方法更加方便.但是,我上一篇博文,仅仅是实现了数字排序,而srot方法默认可是能给字母实现排序的哦!而我的代码只能排序数字,看起来还是弱弱的. 所以,我得加上能排字母甚至中文的排序方法. 实现代码 $(function(){ var arr = ["Jack","Book","Fung"