Quickly experience the core features of WebPascal 5
var obj := json.parse('{"name":"张三","age":18}');
writeln(obj.name); // 张三
writeln(obj.age.TypeName()); // Integer
var email := obj.email ?? '未设置'; // default operator
// iterate over JSON
for var i := 0 to obj.length()-1 do
writeln(obj.ElementName(i)+':'+obj[i]);// phone number validation
var phone := '13800138000';
if regex.ismatch(phone, '^1[3-9]\d{9}$') then
writeln('手机号正确');
// extract domain
var url := 'https://webpascal.com/docs';
var domain := regex.match(url, '(?<=https://).*?(?=/)');
writeln('域名:'+domain);include('/conn.cfg');
var res := json.parse(db.query('mydb','SELECT * FROM users WHERE id=:p1',1));
if res.code = 200 then
for var i:=0 to res.data.length()-1 do
writeln(res.data[i].name);// SQLite
db.conn('mydb', 'DriverID=SQLite;Database=.\sqlite.db');
// MySQL
db.conn('mydb', 'DriverID=MySQL;Server=127.0.0.1;Database=test;User_name=root;Password=123456');
// SQL Server (trusted connection)
db.conn('mydb', 'DriverID=MSSQL;Server=.;Database=test;OSAuthent=Yes');var token := jwt.encode('mySecret','{"userId":1}',7);
if jwt.verify('mySecret',token) then
writeln('验证通过');var md5Str := hash.hash('123456', hMD5);
writeln('MD5: ' + md5Str);var base64Str := base64.encode('abc测试123');
writeln('Base64: ' + base64Str);
var decoded := base64.decode(base64Str);
writeln('解码后: ' + decoded);var desKey := '12345678';
var plainText := '敏感数据';
var desEnc := des.encode(plainText, desKey);
var desDec := des.decode(desEnc, desKey);
writeln('加密: ' + desEnc);
writeln('解密: ' + desDec);var sha256Str := hash.hash('123456', hSHA256);
writeln('SHA256: ' + sha256Str);var urlStr := 'abc 测试123';
var encoded := urlencode.encode(urlStr);
var decoded := urlencode.decode(encoded);
writeln('原始: ' + urlStr);
writeln('编码: ' + encoded);
writeln('解码: ' + decoded);var unicodeStr := '"abc\"\u6D4B\u8BD5\"123"';
var ansiStr := unicodetoansi(unicodeStr);
writeln('Unicode: ' + unicodeStr);
writeln('ANSI: ' + ansiStr);var getResult := http.get('https://api.example.com/users?id=123', '', '');
writeln(getResult);var postResult := http.post('https://api.example.com/users', '', 'name=张三&age=18');
writeln(postResult);var jsonData := '{"name":"张三","age":18}';
var jsonResult := http.json('https://api.example.com/users', '', jsonData);
writeln(jsonResult);var savedPath := http.getfile('https://example.com/image.jpg');
writeln('<img src="' + savedPath + '">');writeln('<img src="' + captcha('1234',80) + '">');writeln('<img src="' + QRCode('https://webpascal.com',80,2) + '">');var now := FormatDateTime('YYYY-MM-DD HH:NN:SS', Now);
var ts := LocalDateTimeToUnixTime(Now);var id := Snowflake(1,2); // datacenter 1, machine 2